冒泡排序的编程方法
冒泡排序——数组的从小到大顺序排列。
冒泡排序算法的运作如下:(从后往前)
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
方法:从第一个到最后一个比较 第一轮,就是走了第一个循环。第二次的循环是重复第一次的路程。
举个例子:对数组从小到大进行排序
// var arr = [2,1,3,4];
var arr = [4,3,2,1];
console.log(bubble(arr));
function bubble(array){
//外循环控制轮数(元素-1)
for(var i=0;i<array.length-1;i++){
//开闭原则(标志,标识,旗帜)
var flag = true;
//内循环控制次数(元素-1)
for(var j=0;j<array.length-1-i;j++){
//判断符合标准就交换位置
if(array[j]>array[j+1]){
var temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
flag = false;
}
}
if(flag){
//此情况在数组是极限从大到小排列下,会出现问题。每一轮flag都是false,最终无返回值。
// return array;
break;
}
}
//有了return执行完毕方法后,就可以用变量接收返回值!
return array;
}