冒泡排序法
冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列, 一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢浮到数列的顶端。
要掌握冒泡排序法,首先要学会交换两个变量的值
//a=1,b=2;交换这两个变量的值
var a = 1, b = 2;
var temp = a;
a = b;
b = temp;
console.log(a);//2
console.log(b);//1
此处相当于有一杯可乐a和一杯酒b,还有一个空杯子temp,把可乐a倒入空杯子temp中,再把酒b倒入现在空了的杯子a中,再把现在装了可乐的杯子temp倒入空杯子b中,这样a和b的值就实现了交换。
冒泡排序法是将一系列的数据按照从大到小或者从小到大的顺序排列显示,原理也就是交换相邻两个变量的值
现有数组arr[2,85,42,12,51,22]; 让数组中的数据按照从小到大的顺序重新排列
重复上面的过程,相邻之间相互比较
这样循环做下去后,大的数据依次后移,最大的数字就到了后面,小的数据就到了前面,下面用代码实现:
现有数组arr[2,85,42,12,51,22]; 让数组中的数据按照从小到大的顺序重新排列
var arr = [2,85,42,12,51,22];//原数组
for(var i = 0; i < arr.length; i++){//外层循环
for(var j = i+1; j < arr.length+1; j++){//内层循环
if(arr[i] > arr[j+1]){//判断语句,相邻的数据进行比较
var temp = arr[i];//交换变量的值
arr[i] = arr[j+1];
arr[j+1] = temp;
}
}
}
console.log(arr);//2,12,22,42,51,85