我已经定义了数组,但是现在我要实现我的气泡排序功能,它不会进入第一个for循环。它确实运行该功能

function bubbleSort (){

    for (var j=0; j++; j < valores.length){
        for (var i=j+1; i++; i < valores.length){
            if (valores[j]>valores[i]){
                var temp=0
                temp=valores[j]
                valores[i]=valores[j]
                valores[j]=temp
            }
        }
    }
    console.log(valores)
}


因此,如果valores输入[2,1],我希望控制台日志中的输出为[1,2]。

如果有任何帮助,我可以通过此函数获取数组:

let valores =[];
let papelero=10;
function agregarValor (){

    if (valores.length < papelero){

        let val = Number(valor.value)

        valores.push(val)

        console.log(valores)
    }
}

最佳答案

就像@ug_说我的交换不正确,他以前说过j和i在错误的地方递增。

function bubbleSort() {
    for (var j=0; j<valores.length; j++) {
        for (var i=j+1; i<valores.length; i++) {
            if (valores[j]>valores[i]) {
                var temp=0
                temp=valores[i]
                valores[i]=valores[j]
                valores[j]=temp
             }
        }
    }
    console.log(valores)
}

10-04 13:08