冒泡排序:数组中有 n 个数,比较每相邻两个数,按照升序思路如果前者大于后者,就把两个数交换位置。第一轮就可以选出一个最大的数放在最后面,那么经过 n-1轮,就可以完成了所有的数排序。废话不多讲,先上代码。
// 先给一个数组
var arr = [13, 24, 23, 16, 7, 1];
//最外面的for循环是控制循环的轮数
for (var i = 0; i < arr.length - 1; i++) {
// 里面的for循环是控制每轮交换的次数(第一轮交换次数是5次,二轮是4次,i轮交换arr.length-i次)
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); //[1, 7, 13, 16, 23, 24]
上述就是简单的冒泡排序,注意我采用的是升序,大家也可以用降序,这个具体视情况而定。