冒泡排序算法按降序对项目进行排序 - JavaScript
Bubble Sort algo sorting items in descending order - JavaScript
以下是我的冒泡排序代码,它仅对数组进行降序排序。但是我正在尝试仅按升序进行排序。请让我知道我哪里做错了。
var a = [53, 11, 34, 12, 18];
for(var i = 0; i < a.length; i++) {
for(var j=0; j < a.length; j++) {
if(a[i] > a[j]) {
var temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
console.log("Array:: ", a);
在正确的冒泡排序中,内循环不应每次都迭代所有值。您的内部循环必须从 i+1
:
开始
for(var j=i+1; j < a.length; j++) {
var a = [53, 11, 34, 12, 18];
for(var i = 0; i < a.length; i++) {
for(var j=i+1; j < a.length; j++) {
if(a[i] > a[j]) {
var temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
console.log("Array:: ", a);
只需交换语句 a[i] < a[j]
而不是 a[i] > a[j]
var a = [53, 11, 34, 12, 18];
for(var i = 0; i < a.length; i++) {
for(var j=0; j < a.length; j++) {
if(a[i] < a[j]) {
var temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
console.log("Array:: ", a);
以下是我的冒泡排序代码,它仅对数组进行降序排序。但是我正在尝试仅按升序进行排序。请让我知道我哪里做错了。
var a = [53, 11, 34, 12, 18];
for(var i = 0; i < a.length; i++) {
for(var j=0; j < a.length; j++) {
if(a[i] > a[j]) {
var temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
console.log("Array:: ", a);
在正确的冒泡排序中,内循环不应每次都迭代所有值。您的内部循环必须从 i+1
:
for(var j=i+1; j < a.length; j++) {
var a = [53, 11, 34, 12, 18];
for(var i = 0; i < a.length; i++) {
for(var j=i+1; j < a.length; j++) {
if(a[i] > a[j]) {
var temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
console.log("Array:: ", a);
只需交换语句 a[i] < a[j]
而不是 a[i] > a[j]
var a = [53, 11, 34, 12, 18];
for(var i = 0; i < a.length; i++) {
for(var j=0; j < a.length; j++) {
if(a[i] < a[j]) {
var temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
console.log("Array:: ", a);