降序部分代码展示和结果
// An highlighted block
var arr = [2, 13, 1, 23, 4, 1];
for (var i = 1; i < arr.length; i++) {
for (var j = 0; j < arr.length - i; j++) {
// 前一个和后一个元素相比较,如果前面的元素小于后面的元素就交换两个变量
if (arr[j] < arr[j + 1]) {
var k = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = k;
}
}
}
console.log(arr);
结果:
升序部分代码演示,及结果显示
// An highlighted block
var arr = [2, 13, 1, 23, 4, 1];
for (var i = 1; i < arr.length; i++) {
for (var j = 0; j < arr.length - i; j++) {
// 前一个和后一个元素相比较,如果前面的元素大于后面的元素就交换两个变量
if (arr[j] < arr[j + 1]) {
var k = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = k;
}
}
}
console.log(arr);
结果:
从以上两个代码,我们不难发现冒泡排序无非利用了两次循坏,内层循环第一次比较了arr.length-2次,第二次比较了arr.length-3次以此内推直到i=arr.length-1时排序完毕。