1. 分两层循环,里面层相邻两个数对比,大的就排在后面,一层循环下来,最大的数就在最后
2. 5,4,3,2,1
3. 5和4比就是4,5,3,2,1 接着5和3比就是4,3,5,2,1 接着5和2比就是4,3,2,5,1 接着5和1比就是4,3,2,1,5
4. 因此内层的写法:arr[j]>arr[j+1]
5. 最外层的写法:for(var i=0;i<arr.lenght;i++)
6. 定义一个变量temp,用于交换内层循环的值。
比如5>3, 把5放在temp,把3转给5,把temp转给3,这两个值就交换了。
5,4,3,2,1
第一层,4,3,2,1,5
第二层,3,2,1,4,5
第三层,2,1,3,4,5
第四层,1,2,3,4,5
function popArr(arr){ for(var i=0;i<arr.length;i++){ for(var j=0;j<arr.length;j++){ if(arr[j]>arr[j+1]){ var temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } return arr; } var arr=[354,3,2,55,555,3,0]; console.log('排序前'+arr); console.log(popArr(arr));
排序结果:
排序前354,3,2,55,555,3,0
0, 2, 3, 3, 55, 354, 555