冒泡排序的过程以及讲解
冒泡排序
将相邻的两个数作比较,大的值放后面(从小到大)
var list = [32,93,77,54,38,87];
for(j=0;j<=list.length-1;j++){ //外层循环 控制循环总次数
for(var i = 0;i<list.length-1;i++){ // 内层循环 控制每层所做的内容
if(list[i]>list[i+1]){ // 和相邻的数作比较如果后面比前面大则 利用第三个数给他们两个交换位置
// list[i] 对应下标的当前存的值 list[i+1] 对应下标的当前值的后面一个值(也就是相邻的值)
vat temp =list[i]; //把前的(小的数)数给 temp;
list[i]=list[i+1]; // 把后面(大的数)的数给 赋值给前面的数
list[i+1]=temp; // 把temp的值给后面的值 (可以带两个数尝试一下)
}
}
}
console.log(list);
演示:
第一轮
原数组[32,93,77,53,38,87]
32和93比较大小[32,93,77,53,38,87] 后面比前面大就不动它
93和77比较大小[32,77,93,53,38,87]后面比前面小则交换位置
93和53比较大小[32,77,53,93,38,87]后面比前面小则交换位置
93和38比较大小[32,77,53,38,93,87]后面比前面小则交换位置
93和87比较大小[32,77,53,38,87,93]后面比前面小则交换位置
这里就不做过多演示 因为每一轮的原理都是一样的!!!!
(以上均为个人看法!!!!)