氣泡排序一種電腦科學領域的較簡單的排序演算法。它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序(如從大到小、首字母從從z到a)錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。
這個演算法的名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端(公升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名「氣泡排序」。
每次將相鄰的兩個數比較,將較小(或較大)的調到前面。重複這個步驟,最終將最大(或最小)的數排在最後。
1.比較相鄰兩個資料,如果第乙個比第二個大,就交換兩個數
2.對每乙個相鄰的數做同樣1的工作,這樣從開始一隊到結尾一隊在最後的數就是最大的數。
3.針對所有元素上面的操作,除了最後乙個。
4.重複1~3步驟,知道順序完成。
#include
void
test08()
//鍵盤給動態陣列 獲取輸入
printf
("請輸入%d個int資料\n"
, n)
;for
(i=0
;i)//排序
for(i=
0;i1;i++)}
}//陣列的遍歷
for(i=
0;i)printf
("\n");
//釋放空間
if(arr !=
null)}
intmain()
C語言 氣泡排序
氣泡排序 兩兩比較相鄰記錄的關鍵碼,如果反序則交換,直到沒有反序記錄為止 將整個待排序的記錄序列分成有序區和無序區,初始時有序區為空,無序區包括所有待排序的記錄 對無序區從前向後依次將相鄰記錄的關鍵碼進行比較,若反序則交換,從而使得關鍵碼小的記錄向前移,關鍵碼大的向後移 像水中的氣泡,體積大的先浮起...
氣泡排序 C語言
c語言是比較簡單基礎的排序方式,排序效率並不高,但是很穩定。通過rand隨機生產10個小於20的數來測試排序。氣泡排序 include include include void bubblesortbetter int a,int n 改進 if flag 0 break void bubbleso...
C語言 氣泡排序
直接看 吧 include void bubblesort int r,int len if exchange 如果沒有發生交換,提前終止演算法 return int main bubblesort aa,10 for int i 0 i 10 i printf d aa i printf n re...