氣泡排序法及簡單優化

2021-08-14 17:39:17 字數 437 閱讀 8071

鞏固自己學習,方便新手,把自己學習的寫出來,有錯誤的敬請指出。

氣泡排序法我理解的三點:

外迴圈:迴圈變數i,可以理解為對i位置排序。

內迴圈:針對i位置,通過內迴圈,把大的數放在i位置。

變數change: 如果內迴圈不把change置為1說明排序已經結束。

具體**如下(有注釋):

#include

int main()

;printf("a: ");

for(i=0;i<5;i++)

bubblesort(a,5);

printf("\nafter sort\n a: ");

for(i=0;i<5;i++)

return 1;

}int bubblesort(int* a,int n)}} 

return 1; 

彙編實現冒泡法排序及優化

冒泡法排序 氣泡排序的基本思想是,對相鄰的元素進行兩兩比較,順序相反則進行交換,這樣,每一趟會將最小或最大的元素 浮 到頂端,最終達到完全有序。但是這種冒泡法排序卻有很大的弊端 可以看見在第一次排序後雖然最大的數字被移動到了最右的位置,但是這輪排序對其他的數字並沒有造成有益的影響,甚至第二大的數字8...

排序演算法之氣泡排序及簡單優化

氣泡排序是一種簡單的排序演算法,其基本思想就是兩兩相鄰的進行比較以陣列a 為例 第一步就是3和1進行比較3比1 大所以兩者交換 接下來就是繼續把3和4比,4比3大不換 繼續下去我們發現4比5小則交換 繼續比較5和2,5比2大則5和2交換 第一輪結束,我們可以繼續第二輪,在上一輪中我們已經把陣列中最大...

氣泡排序及優化

氣泡排序的基本思路是 每次將相鄰兩個數比較,將小的調到前頭 本例按照從小到大排序 按此規律如果有n個數,則要進行n 1趟比較。在第1趟比較中要進行n 1次兩兩比較,在第 j 趟比較中要進行 n j 次兩兩比較。實現如下 include define n 10 int main for i 0 i n...