Money talks.有钱能使鬼推磨。
今天给大家分享一个简单的冒泡排序
1思路:每一次对比相邻两个数据的大小,小的排在前面,如果前面的数据比后面的大就交换这两个数的位置
要实现上述规则需要用到两层for循环,外层从第一个数到倒数第二个数,内层从外层的后面一个数到最后一个数
2特点:排序算法的基础。简单实用易于理解,缺点是比较次数多,效率较低。
所用到的原理: 循环嵌套和遍历数组
情景导入:给你一些数字,让你排列一下顺序,比如1,35,21,2,565,888,96554,1222
var arr=[1,35,21,2,565,888,96554,1222]; //先把他们放到一个数组
for(var i=1;i<arr.length;i++){ // 比较的轮数,这里就代表总共比较7轮
for(var j=0;j<arr.length-1;j++){ //每一轮比较的次数
//交换2个元素的值
if(arr[j]>arr[j+1]){
var tmp=arr[j]; //这里var 了个tmp,作用就是作为一个arr[j]和arr[j+1]交换的载体(空间),在此处不可以直接交换
arr[j]=arr[j+1];
arr[j+1]=tmp
}
}
}
console.log(arr);