<<輕鬆學會C語言>>14. 氣泡排序

在演算法中,有一個功能經常需要,就是排序,從小到大排序,或從大到小排序。

一。氣泡排序

1。需求:把一個字串或陣列的內容從小到大排序;

2。模擬:按照冒泡模擬:

假設陣列有 3, 2,7,4,1 要從小到大排序

冒泡過程1:

3和2比較,3大,因此1。1次互換位置:2,3,7,4,1

3和7比較,7大,因此1。2次不換位置:2,3,7,4,1

7和4比較,7大,因此1。3次互換位置:2,3,4,7,1

7和1比較,7大,因此1。4次互換位置:2,3,4,1,7

第一輪冒泡,最大的7已經冒到最上面

冒泡過程2:

2和3比較:3大,因此2。1 不換位置,2,3,4,1,7

3和4比較,4大,因此2。2 不換位置,2,3,4,1,7

4和1比較,4大,因此2。3 互換位置,2,3,1,4,7

4和7比較,7大,因此2。4 不換位置

第二輪冒泡,最大4已經冒出來

冒泡過程3:

2和3比較, 3大,因此3。1 不換位置,2,3,1,4,7

3和1比較, 3大,因此3。2 互換位置 2,1,3,4,7

3和4比較,4大,因此3。3 不換位置

4和7比較,7大,因此3。4不換位置

冒泡過程4:

2和1比較,2大,因此4。1換位置,1,2,3,4,7

2和3比較,3大,。。。

3和4比較,4大。。。

4和7比較,7大

3。抽象:

把上面過程抽象,則有2個迴圈,都是從頭到尾迴圈

i=0-5; 外圍迴圈, 迴圈次數為最大字元數;

j=1-5; 內部迴圈,只要str[j]>str[j+1], 就swap;

注意:迴圈次數為j+1<最大字元長度;

聲名:以上內容為 七里稻田 原創

如果需要C語言全課程, 可以留言/或私信。

將提供C語言全課程,可以免費體驗,或支付9。9元,即可購買課程,獲得課程所有程式原始碼。並提供線上疑問解決3個月。