氣泡排序初級版

2021-10-03 01:39:46 字數 1443 閱讀 9235

void

bubble_sort

(int arr,

int sz)}}

}void

pritn_arr

(int arr,

int sz)

}//氣泡排序

簡單優化改進(公升序排)

加乙個flag

void

bubble_sort

(int arr,

int sz)if(

0== flag)

break;}

}}void

pritn_arr

(int arr,

int sz)

}//氣泡排序

intmain()

;int sz =

sizeof

(arr)

/sizeof arr[0]

;pritn_arr

(arr, sz)

;printf

("\n");

bubble_sort

(arr, sz)

;pritn_arr

(arr, sz)

;system

("pause");

return0;

}

改進思路

對於0123456789本身就是排好的

一趟趟比較確實不值得。

進去第一趟,然後兩兩比較,如果執行了交換flag=1;

可事實上沒有進入交換的語句,那麼flag=0;

因此比較一趟就夠了,不用一趟一趟一直比下去了。

flag=0

if (0 == flag)

break;

注意事項

for (i = 0; i < sz - 1; i++)

}

j 由於每一輪當中乙個最大的元素歸位,即為一輪會排好乙個元素,下一輪無需對這個元素進行遍歷比較,故而需要在上面的式子的基礎上-i

今天看到一句話,我覺得說的就是我了。

關於自律,你時常撿起,也總是丟棄。

真的蠻慚愧的。一次次都是這樣,覺得自己一點也不酷。

氣泡排序(初級版)之C 實現

氣泡排序 初級版 之c 實現 一 源 bubblesortlow.cpp 1 氣泡排序思想 2從第乙個元素開始,對陣列中兩兩相鄰的元素比較,將值較小的元素放在前面,值較大的元素放在後面 3一輪比較完畢,乙個最大的數沉底成為陣列中的最後乙個元素,一些較小的數如同氣泡一樣上浮乙個位置。4n個數,經過n ...

初級排序 氣泡排序

氣泡排序 從第乙個數開始依此與下乙個數進行比較,若後者大於前者,則二者換位,否則不進行操作 然後讓第二個數與下乙個進行比較 依此這樣進行。一次大迴圈會將最大的那個數,放在後面 第二次大迴圈會將第二大的數放在倒數第二位 依次進行。最後便是有序的公升序數列。include using namespace...

初級演算法 氣泡排序

氣泡排序是一種比較常用的基礎的排序演算法,氣泡排序的基本思想是 每次比較兩個相鄰的元素,如果它們的順序錯誤就把它們交換 過來。下列是以從大到小排列為例講解。因為是按照從大到小排列所以越小的越靠後面 該演算法是通過迴圈巢狀實現的,首先外迴圈表示有n個數需要排序,因為是n個數所以只需要迴圈n 1次就可以...