氣泡排序(bubble sort,台灣譯為:泡沫排序或氣泡排序)是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。
這個演算法的名字由來是因為越大的元素會經由交換慢慢「浮」到數列的頂端,故名。
氣泡排序演算法的運作如下:(從後往前)
1.比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。
2.對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
3.針對所有的元素重複以上的步驟,除了最後乙個。
4.持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
**如下
#define _crt_secure_no_warnings
#include#include#define n 10
void swap(int *a, int *b)
void bubblesort(int arr,int num)
} }}/*另一種寫法*/
/*void bubblesort(int arr,int num)
} }}*/int main();
printf("請輸入十個整數:");
for (int i = 0;i < n;i++)
int n = n;
bubblesort(arr, n);
for (int i = 0;i < n;i++)
putchar('\n');
system("pause");
return 0;
}
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...