js数组sort排序原理
生活随笔
收集整理的這篇文章主要介紹了
js数组sort排序原理
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
大家都知道javascript的數(shù)組有sort排序方法,可以實(shí)現(xiàn)升序與降序,現(xiàn)在我們來學(xué)習(xí)一下sort方法排序的原理冒泡排序。
冒泡排序:拿數(shù)組的當(dāng)前項(xiàng)和后一項(xiàng)比較,如果當(dāng)前項(xiàng)大于后一項(xiàng),兩者交換位置。
?
第一層循環(huán)確定循環(huán)輪數(shù),第二層循環(huán)當(dāng)前項(xiàng)與后一項(xiàng)進(jìn)行比較,如果當(dāng)前項(xiàng)大于后一項(xiàng)就進(jìn)行位置的互換,上面使用的是ES6的方法實(shí)現(xiàn)位置的互換。
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,];?
轉(zhuǎn)載于:https://www.cnblogs.com/youngGao/p/8974325.html
總結(jié)
以上是生活随笔為你收集整理的js数组sort排序原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 车林通购车之家--购车计算器模块--保险
- 下一篇: Jzoj5237 最长公共子序列