直接看**吧
加入exchange的作用:#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");
return
0;}
在每趟排序開始前,先將其置為false。
若排序過程中發生了交換,則將其置為true。
每趟排序結束時檢查exchange,若未發生過交換則終止演算法,不再進行下一趟排序
整理自《程式設計師面試寶典》
C語言 氣泡排序
氣泡排序 兩兩比較相鄰記錄的關鍵碼,如果反序則交換,直到沒有反序記錄為止 將整個待排序的記錄序列分成有序區和無序區,初始時有序區為空,無序區包括所有待排序的記錄 對無序區從前向後依次將相鄰記錄的關鍵碼進行比較,若反序則交換,從而使得關鍵碼小的記錄向前移,關鍵碼大的向後移 像水中的氣泡,體積大的先浮起...
氣泡排序 C語言
c語言是比較簡單基礎的排序方式,排序效率並不高,但是很穩定。通過rand隨機生產10個小於20的數來測試排序。氣泡排序 include include include void bubblesortbetter int a,int n 改進 if flag 0 break void bubbleso...
氣泡排序(C語言)
通過先確定位置然後找數字的方法。把乙個數字放在合適位置上,這個選擇的位置可以是最前面的位置,也可以是最後面的位置。通過不斷對兩個相鄰數字進行順序調整,最終把合適的數字放在選定的位置上。氣泡排序 include void bubble sort int p num,int size int num 0...