冒泡排序的算法详解与优化
我们先上图,然后再参照图片来看算法推演与优化过程
根据上图,我们先写俩个for循环,然后把每次出来看结果都打印一下,再对比看一下
var a =[561,23,156,41,321,54,3,23,123,41456] console.log("初始数据",a); let temp=0 //临时变量用来存数据的 for(let i=0;i<a.length;i++){ for(let j=0;j<a.length-i-1;j++){//减1是因为最后一位不需要再与下一位对比了 if(a[j]>a[j+1]){ temp=a[j] a[j]=a[j+1] a[j+1]=temp console.log("每轮调换后",a); } } console.log("第",i,"轮调换后的结果是",a); } ------------打印结果是---------- > "初始数据" Array [561, 23, 156, 41, 321, 54, 3, 23, 123, 41456] > "每轮调换后" Array [23, 561, 156, 41, 321, 54, 3, 23, 123, 41456] > "每轮调换后" Array [23, 156, 561, 41, 321, 54, 3, 23, 123, 41456] > "每轮调换后" Array [23, 156, 41, 561, 321, 54, 3, 23, 123, 41456] > "每轮调换后" Array [23, 156, 41, 321, 561, 54, 3, 23, 123, 41456] > "每轮调换后" Array [23, 156, 41, 321, 54, 561, 3, 23, 123, 41456] > "每轮调换后" Array [23, 156, 41, 321, 54, 3, 561, 23, 123, 41456] > "每轮调换后" Array [23, 156, 41, 321, 54, 3, 23, 561, 123, 41456] > "每轮调换后" Array [23, 156, 41, 321, 54, 3, 23, 123, 561, 41456] > "第" 0 "轮调换后的结果是" Array [23, 156, 41, 321, 54, 3, 23, 123, 561, 41456] > "每轮调换后" Array [23, 41, 156, 321, 54, 3, 23, 123, 561, 41456] > "每轮调换后" Array [23, 41, 156, 54, 321, 3, 23, 123, 561, 41456] > "每轮调换后" Array [23, 41, 156, 54, 3, 321, 23, 123, 561, 41456] > "每轮调换后" Array [23, 41, 156, 54, 3, 23, 321, 123, 561, 41456] > "每轮调换后" Array [23, 41, 156, 54, 3, 23, 123, 321, 561, 41456] > "第" 1 "轮调换后的结果是" Array [23, 41, 156, 54, 3, 23, 123, 321, 561, 41456] > "每轮调换后" Array [23, 41, 54, 156, 3, 23, 123, 321, 561, 41456] > "每轮调换后" Array [23, 41, 54, 3, 156, 23, 123, 321, 561, 41456] > "每轮调换后" Array [23, 41, 54, 3, 23, 156, 123, 321, 561, 41456] > "每轮调换后" Array [23, 41, 54, 3, 23, 123, 156, 321, 561, 41456] > "第" 2 "轮调换后的结果是" Array [23, 41, 54, 3, 23, 123, 156, 321, 561, 41456] > "每轮调换后" Array [23, 41, 3, 54, 23, 123, 156, 321, 561, 41456] > "每轮调换后" Array [23, 41, 3, 23, 54, 123, 156, 321, 561, 41456] > "第" 3 "轮调换后的结果是" Array [23, 41, 3, 23, 54, 123, 156, 321, 561, 41456] > "每轮调换后" Array [23, 3, 41, 23, 54, 123, 156, 321, 561, 41456] > "每轮调换后" Array [23, 3, 23, 41, 54, 123, 156, 321, 561, 41456] > "第" 4 "轮调换后的结果是" Array [23, 3, 23, 41, 54, 123, 156, 321, 561, 41456] > "每轮调换后" Array [3, 23, 23, 41, 54, 123, 156, 321, 561, 41456] > "第" 5 "轮调换后的结果是" Array [3,本文来自投稿,不代表本人立场,如若转载,请注明出处;如有问题您可以发邮件到:itlun@qq.com