Javascript 对数组中的数字进行排序需要多少次

Javascript 对数组中的数字进行排序需要多少次,javascript,arrays,Javascript,Arrays,我想计算数组排序需要多少次 var array = [4,2,3,1] var yourCounter = 0; for (var i = 0; i < array.length; i++) { for (var j = 1; j < array.length-j; j++) if (array[j - 1] > array[j]) { yourCounter++; } } var数组=[4,2,3,1] var=0; 对于(var i=0;i

我想计算数组排序需要多少次

var array = [4,2,3,1]

var yourCounter = 0;
for (var i = 0; i < array.length; i++) {
 for (var j = 1; j < array.length-j; j++)
   if (array[j - 1] > array[j]) {
     yourCounter++;
   } }
var数组=[4,2,3,1]
var=0;
对于(var i=0;i数组[j]){
yourCounter++;
} }
它将返回4,应该是5

但是如果我输入数组[1,2,3]将正确返回0,如果我输入数组[3,2,1],它将正确返回3,我找到了解决方案

var a = [4,2,3,1]

function sortArray(a){

let swapCount = 0;
let swapOccurred = true;
let index = 0;
while (swapOccurred == true && index < a.length){

    swapOccurred == false;

    if (a[index] > a[index+1]){
        let holder = a[index]
        a[index] = a[index+1];
        a[index+1] = holder;
        swapOccurred == true;
        swapCount ++;
        index = -1;
    }

    index ++
}

function countSwaps(a) {
    let swapCount = 0;

    [a, swapCount] = sortArray(a)

    console.log(swapCount)

}

    return [a, swapCount] 
}
var a=[4,2,3,1]
功能分类(a){
设swapCount=0;
让swapOccurred=true;
设指数=0;
while(swapocurred==true&&indexa[index+1]){
let holder=a[索引]
a[索引]=a[索引+1];
a[指数+1]=持有人;
swapOccurred==真;
swapCount++;
指数=-1;
}
索引++
}
功能互换(a){
设swapCount=0;
[a,swapCount]=Sortaray(a)
控制台日志(swapCount)
}
返回[a,swapCount]
}

您可以在计数时取给定的代码并交换值

for (int i = 0; i < n; i++) {
    for (int j = 0; j < n - 1; j++) {
        // Swap adjacent elements if they are in decreasing order
        if (a[j] > a[j + 1]) {
            swap(a[j], a[j + 1]);
        }
    }
}
for(int i=0;ia[j+1]){
互换(a[j],a[j+1]);
}
}
}
var数组=[4,2,3,1],
计数器=0,
i、 j,n=数组长度;
对于(i=0;i数组[j+1]){
[array[j+1],array[j]=[array[j],array[j+1]];
++计数器;
}
}
}
控制台日志(计数器);

console.log(数组)排序次数是什么意思?你是说需要多少掉期?在这种情况下,对于hackerank中的testCase2,4是正确的答案为什么和如何找到
5