冒泡排序
今天说到了递归和冒泡排序,我这几十万粉丝已经不允许我在低调了,今天就来给大家解说一波这个冒泡排序。
首先来说说冒泡排序,冒泡排序跟sort有很大区别,虽然重点都是用来排序的但是我个人就的还是用冒泡的方式高级点
所谓冒泡是一种简单的排序方式下面有一个简单的例子给大家解说一下
这是一个从小到大的案例
//冒泡排序
function xin(arr) {
var text;
for (var i = 0; i < arr.length; i++) {
for (var j = arr.length - 1; j > i; j--) {
if (arr[j] < arr[j - 1]) {
text= arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = text;
}
}
}
return arr;
}
var arr = [2, 6, 5, 4, 1];
xin(arr);
console.log(arr); //输出 [1, 2, 4, 5, 6]
从大到小
function xin(arr) {
var text;
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < arr.length - i - 1; j++) {
if (arr[j] < arr[j + 1]) {
text = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = text;
}
}
}
return arr;
}
var arr = [2, 6, 5, 4, 1];
xin(arr);
console.log(arr); //输出 6, 5, 4, 2, 1]
总结:这是两个使用冒泡案例,分别是从大到小和从小到大,里面分别循环的两遍,就是:比较相邻的两个数,如果后面的比前面的小,把小的放在前面。反之亦然。