通過先確定位置然後找數字的方法。
把乙個數字放在合適位置上,這個選擇的位置可以是最前面的位置,也可以是最後面的位置。
通過不斷對兩個相鄰數字進行順序調整,最終把合適的數字放在選定的位置上。/*
* 氣泡排序 */
#include
void bubble_sort(int *p_num, int size)
int num = 0, num1 = 0, tmp = 0;
for (num = size - 1;num >= 1;num--)
//每次把最大數字放在下標為num
//的儲存區里
for (num1 = 0;num1 <= num - 1;num1++)
//每次把下標為num1和num1 + 1
//的數字進行順序調整
if (*(p_num + num1) > *(p_num + num1 + 1))
tmp = *(p_num + num1);
*(p_num + num1) = *(p_num +num1 + 1);
*(p_num + num1 + 1) = tmp;
int main(void)
int arr = ;
int num = 0;
bubble_sort(arr, 7);
for (num = 0;num <= 6;num++)
printf("%d ", arr[num]);
printf("\n");
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...