久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

JavaScript數(shù)組 - 冒泡排序

 AnXuelin295 2020-12-29


  冒泡排序 

這節(jié)我們來(lái)講大名鼎鼎的冒泡排序

原理:前后兩個(gè)數(shù)兩兩進(jìn)行比較,,如果符合交換條件,交換位置,,知道所有數(shù)據(jù)排序完成,,結(jié)束比較。

舉個(gè)小例子:

我們來(lái)給9,8,7,6,5,4,排序?yàn)?,5,6,7,8,9

var arr = [9,8,7,6,5,4]

排序比較的過(guò)程:

第一輪:

接著進(jìn)行第二輪的排序比較:

(9在最大位置上,,所以在接下來(lái)的幾輪里不跟著參與)

再進(jìn)行第三輪的排序比較

(這一輪的8在最大位置,,以后也不再參與)

以此類(lèi)推

經(jīng)過(guò)上面的每一輪比較,我們發(fā)現(xiàn)每一輪都取到一個(gè)最大的數(shù)放在最后

拿我們的第一輪9為例,,因?yàn)槲覀儽容^的方式是兩兩進(jìn)行比較的,,所以這個(gè)9就像一個(gè)泡泡一樣一層一層往上冒。所以我們把上面的過(guò)程稱(chēng)為冒泡排序

上面我們執(zhí)行了5輪,,這只是我們的分析過(guò)程,,真正的執(zhí)行過(guò)程還要通過(guò)循環(huán)

分析:

1.先定義一個(gè)外層循環(huán)i為總共循環(huán)了幾輪;i < arr.length

2.再定義每一輪比較的次數(shù)j,,j是總的元素個(gè)數(shù) – 當(dāng)前的元素,,第一輪是6-1,第二輪6-2…等等,,由于i是從0開(kāi)始,,所以我們要再減1;j < arr.length – i - 1

3.判斷前后兩個(gè)數(shù)是否復(fù)合交換條件,;arr[i] > arr[j + 1]

4.如果符合條件就交換位置,;tmp = arr[j + 1]; arr[j + 1] = arr[j]; arr[j] = tmp;

var arr = [9,8,7,6,5,4];for(var i = 0; i < arr.length; i++){//比較的輪次//每一輪比較的次數(shù)    for(var j = 0; j < arr.length - i - 1; j++){ //判斷前后兩個(gè)數(shù)是否復(fù)合交換條換        if(arr[j] > arr[j + 1]){ var tmp = arr[j + 1]; arr[j + 1] = arr[j]; arr[j] = tmp; }     }}alert(arr);

運(yùn)行結(jié)果如下

這里主要i和j主要難理解,需要花點(diǎn)時(shí)間自己去理解

必須要知道i和j的作用到底是干什么的

i=0時(shí),,j<5第一輪是0 1 ,,1 2 ,2 3 ,,3 4等等…

i=1時(shí),,j<4第二輪是0 1 ,1 2 ,,2 3 等等…

以此類(lèi)????????????類(lèi)推……

這是從小到大進(jìn)行排列,,如果從大到小排列將數(shù)組的大于號(hào)改為小于號(hào)即可

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多