氣泡排序及其改進

2021-09-25 15:15:18 字數 783 閱讀 7677

1、比較相鄰的元素,前者大就交換

2、每對相鄰元素都比較

3、對所有元素都重複以上步驟(最後乙個元素不用)

這個程式是正確的,可以將乙個陣列公升序排列,但如果給的陣列已經是公升序排列(例如a=;?),這個時候再執行len-1趟就會浪費時間,所以給出了如下改進

#define _crt_secure_no_warnings 1

#includevoid bubblesort(int a, int len)

} if (flag == 0) //沒有交換,跳出迴圈

}}int main()

; int len = sizeof(a) / sizeof(a[0]);

bubblesort(a,len);

for (int i = 0; i < len; i++)

return 0;

}

氣泡排序及其改進

1.排序思想 氣泡排序也是非常簡單的排序演算法,易於理解。要點 1 也把陣列看作有序和無序部分,初始時將整個陣列視為無序 2 每次遍歷陣列中的無序部分,且兩兩比較,並將兩者中較大的元素置於後面一位,則一趟遍歷完成後,最大元素自然 沉到 無序部分的最後一位 3 減小無序部分的長度,迴圈第二步,直到陣列...

氣泡排序及其改進

氣泡排序作為最經典的演算法,雖然對大資料無用武之地。但是對於少量的資料,我們用氣泡排序,在時間複雜度上也是可以接受的,又因為它實現起來比較簡單,所以也經常的被人們使用。並且可以通過一些方法來改進最原始的氣泡排序,這種改進演算法的思路也有可取之處。前一兩天參加宜搜科技的筆試,就考到了氣泡排序。我當時就...

氣泡排序及其改進演算法

第乙個排序函式 sort1 為氣泡排序的典型實現,第二和第三個為改進後的排序函式 include include define len 20000 double sort1 int int double sort2 int int double sort3 int int int main int ...