冒泡排序又叫做交换排序,两两比较,根据自身的大小一点一点往一侧移动
相邻的元素两两比较,根据大小来交换元素的位置,每冒泡一遍,有序数列+1
原始的冒泡排序是稳定排序。由于该排序算法的每一轮要遍历所有元素,轮转的次数和元素数量相当,所以时间复杂度是O(N^2) 。
// 冒泡排序: 从大到小排列
var arr = [1, 2, 3, 4, 5];
//循环 控制比较的轮数 4轮----最大索引: arr.length-1为4
for (var i = 0; i < arr.length - 1; i++) {
//循环 控制每轮比较的次数
//第一轮: 比较了4次
//第二轮: 比较了3次
for (var j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] < arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr);