js数组sort排序原理
生活随笔
收集整理的這篇文章主要介紹了
js数组sort排序原理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
大家都知道javascript的數組有sort排序方法,可以實現升序與降序,現在我們來學習一下sort方法排序的原理冒泡排序。
冒泡排序:拿數組的當前項和后一項比較,如果當前項大于后一項,兩者交換位置。
?
第一層循環確定循環輪數,第二層循環當前項與后一項進行比較,如果當前項大于后一項就進行位置的互換,上面使用的是ES6的方法實現位置的互換。
1 //第一輪 i=1; 2 //j=0 arr[j]>arr[j+1] arr[0]>arr[1] 100>34 交換位置 [34,100,16,3,18,70]; 3 //j=1 arr[j]>arr[j+1] arr[1]>arr[2] 100>16 交換位置 [34,16,100,3,18,70]; 4 //j=2 arr[j]>arr[j+1] arr[2]>arr[3] 100>3 交換位置 [34,16,3,100,18,70]; 5 //j=3 arr[j]>arr[j+1] arr[3]>arr[4] 100>18 交換位置 [34,16,3,18,100,70]; 6 //j=4 arr[j]>arr[j+1] arr[4]>arr[5] 100>70 交換位置 [34,16,3,18,70,100,]; 7 //j<5 arr.length-i 8 9 //第二輪 i=2; [34,16,3,18,70,100,]; 10 //j=0 arr[j]>arr[j+1] arr[0]>arr[1] 34>16 交換位置 [16,34,3,18,70,100,]; 11 //j=1 arr[j]>arr[j+1] arr[1]>arr[2] 34>3 交換位置 [16,3,34,18,70,100,]; 12 //j=2 arr[j]>arr[j+1] arr[2]>arr[3] 34>18 交換位置 [16,3,18,34,70,100,]; 13 //j=3 arr[j]>arr[j+1] arr[3]>arr[4] 34<70 不交換位置 [16,3,18,34,70,100,]; 14 //j<4 15 16 //第三輪 i=3; [16,3,18,34,70,100,]; 17 //j=0 arr[j]>arr[j+1] arr[0]>arr[1] 16>3 交換位置 [3,16,18,34,70,100,]; 18 //j=1 arr[j]>arr[j+1] arr[1]>arr[2] 16<18 不交換位置 [3,16,18,34,70,100,]; 19 //j=2 arr[j]>arr[j+1] arr[2]>arr[3] 18<34 不交換位置 [3,16,18,34,70,100,];?
轉載于:https://www.cnblogs.com/youngGao/p/8974325.html
總結
以上是生活随笔為你收集整理的js数组sort排序原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 车林通购车之家--购车计算器模块--保险
- 下一篇: Jzoj5237 最长公共子序列