目录
1.原理分析
将数组中的每两个元素进行比较,再利用交换变量的方法,把较大的元素后移,较小的元素前移,最终实现排序的效果。
2.代码演示
var arr = [5, 4, 3, 2, 1];
for (var i = 0; i < arr.length; i++) {
// 外层循环遍历一次
for (var j = 0; j <= arr.length - i - 1; j++) {
// 内层循环遍历全部
if (arr[j] > arr[j + 1]) {
// 通过中间变量进行交换
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr);
内层循环的arr.length - i - 1的意思是每次内层遍历从外层当前项的位置开始向后全部遍历,这样做的目的可以减少的比较的次数,进而提升效率,尤其是在数据量比较大的时候,效率最佳。
3.结语
本人前端小白,写的不好,欢迎大家批评指正,共同进步!