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