前端bubucuo前端算法實(shí)戰(zhàn)
2023-08-01 21:35 作者:bili_34189062872 | 我要投稿
冒泡排序
選擇排序可能是十大排序算法中最簡(jiǎn)單最基礎(chǔ)的一個(gè),它的思想很簡(jiǎn)單:對(duì)于一個(gè)數(shù)列,冒泡排序算法會(huì)重復(fù)遍歷這個(gè)數(shù)列,每一次遍歷,都會(huì)對(duì)兩個(gè)相鄰的元素進(jìn)行比較,將兩個(gè)數(shù)中較大的數(shù)放在后面,從第一對(duì)比較到最后一對(duì)。直到所有的元素以正確的順序排列。
舉個(gè)例子,對(duì)于數(shù)組 arr = [1, 4, 3, 5, 2] ,我們需要將它按從小到大的順序重新排序:
arr = [1, 4, 3, 5, 2]
arr[0] = 1 與 arr[1] = 4進(jìn)行比較,順序是從小到大沒有問題;
arr[1] = 4 與 arr[2] = 3進(jìn)行比較,順序不對(duì),因此將這兩個(gè)數(shù)交換位置;
arr[2] = 4 與 arr[3] = 5進(jìn)行比較(注意此時(shí)arr[2]已經(jīng)變?yōu)?了哦 ),順序是從小到大沒有問題;
arr[3] = 5 與 arr[4] = 2進(jìn)行比較,順序不對(duì),因此將這兩個(gè)數(shù)交換位置。
那么在第一輪遍歷之后,我們的數(shù)組變?yōu)榱耍篴rr = [1, 3, 4, 2, 5] ,第一輪的目的是為了將數(shù)組中最大的元素放到數(shù)組末尾,大家多試幾個(gè)例子就可以明顯地感受到這一特點(diǎn)。
好,接下來進(jìn)行第二輪遍歷:
標(biāo)簽: