C語言實現上浮下沉交替的氣泡排序

2021-10-23 15:16:38 字數 805 閱讀 8229

本文受此文章啟發

主要思路:乙個函式up負責上浮,乙個函式down負責下沉,乙個while迴圈中進行上浮和下沉,同時設定flag判斷是否有上浮下沉操作,如果都沒有則排序結束

/*實現內容

* 上浮下沉交替進行的氣泡排序

* * ps:0號不存元素

* vs2019 編譯通過 王大花 2020.8.21

* */

#include

#include

#include

#define number_num 12

int*

get_rand_num()

void

print

(int

* num)

void

swap

(int

* a,

int* b)

//上浮

intup

(int

* num,

int low,

int high)

low++;}

return flag;

}//下沉

intdown

(int

* num,

int low,

int high)

high--;}

return flag;

}//氣泡排序

void

bubble_sort

(int

* num)

}int

main()

上浮和下沉過程交替的氣泡排序演算法

氣泡排序演算法是把大的元素向上移 氣泡的上浮 也可以把小的元素向下移 氣泡的下沉 請給出上浮和下沉過程交替的氣泡排序演算法 include include define maxsize 20 typedef int keytype typedef int infotype typedef struc...

C語言實現冒泡演算法

打算認真研究演算法,所以,把這些基本演算法都寫出來,練練手。部分內容引用 坐在馬桶上看演算法2 冒泡演算法特徵 每次迴圈只能讓乙個資料排到正確的位置上。因此,n個資料的排序,必須執行n 1次迴圈 讓n 1個資料排到正確位置上,剩下的那個自然是最小的,排在最後,不用迴圈 include int mai...

氣泡排序 c語言實現

氣泡排序 排序思想 1.對於乙個長度為n的陣列,進行n 1次迴圈 2.第一次次迴圈中,先將1和2元素比較,如果元素1比元素2大,則交換其位置,接著比較元素2和元素3,以此類推,最終最大的元素排在最後一位 3.接著第二次迴圈,要排序的元素個數減少乙個 最大的已經放在最後一位 重複2的過程 4.這樣,每...