第一講:氣泡排序法基本原理
所謂氣泡排序法,就是對一組數字進行從大到小或者從小到大排序的一種演算法。具體方法是,相鄰數值兩兩交換。從第一個數值開始,如果相鄰兩個數的排列順序與我們的期望不同,則將兩個數的位置進行交換(對調);如果其與我們的期望一致,則不用交換。重複這樣的過程,一直到最後沒有數值需要交換,則排序完成。一般地,如果有N個數需要排序,則需要進行(N-1)趟起泡,我們以從小到大排序為例來看一下,具體情況如下圖所示:
2.演算法的實現,具體情況如圖:
3.執行結果顯示。具體情況如圖:
2.在上面程式的基礎上進行最佳化。具體情況如圖所示:
3.最佳化後的輸出結果。如圖所示:
第一講:氣泡排序法基本原理
所謂氣泡排序法,就是對一組數字進行從大到小或者從小到大排序的一種演算法。具體方法是,相鄰數值兩兩交換。從第一個數值開始,如果相鄰兩個數的排列順序與我們的期望不同,則將兩個數的位置進行交換(對調);如果其與我們的期望一致,則不用交換。重複這樣的過程,一直到最後沒有數值需要交換,則排序完成。一般地,如果有N個數需要排序,則需要進行(N-1)趟起泡,我們以從小到大排序為例來看一下,具體情況如下圖所示:
第二講:C語言程式的實現首先,為了實現效果,我們得先定義一組待排序的數列以及各個變數。具體情況如下圖:2.演算法的實現,具體情況如圖:
3.執行結果顯示。具體情況如圖:
第三講:在上一講的基礎上對程式演算法進行最佳化按照上面的程式,在第五趟(i=5)起泡時,計算機不僅要對“1,5,6,4”兩兩進行比較並排序,還要對“7,8,9,13”進行兩兩比較並排序,而“7,8,9,13”在第四趟起泡時就已經排序好了,所以再進行比較的話,就顯得非常多餘。圖示如下:2.在上面程式的基礎上進行最佳化。具體情況如圖所示:
3.最佳化後的輸出結果。如圖所示: