排序演算法分類:
內部排序(在排序過程中不需要訪問外存就可以完成排序)
外部排序
內部排序分類:
交換排序
選擇排序
插入排序
合併排序
外部排序:
常見的是多路歸併演算法,即將原檔案分為多個能夠一次裝入記憶體一部分,分別把每一部分調入記憶體完成排序,然後對已經排序的子檔案進行歸併排序
氣泡排序法:
氣泡排序法是一種相鄰資料交換的排序方法。
氣泡排序法的基本思想是:對待排序記錄關鍵字從後往前(逆序)進行多遍掃瞄,當發現相鄰兩個關鍵字的次序與排序要求的規則不符時,就將這兩個記錄進行交換。這樣,關鍵字較小的記錄將逐漸從後面向前面移動,就象氣泡在水中向上浮一樣,所以該演算法也稱為氣泡排序法。
核心**如下:
//簡單選擇排序法選擇排序氣泡排序
//a 傳遞的要排序的陣列
//n 陣列元素的長度
void bubblesort(int a,int
n) }
//如果一遍下來沒有資料交換,則不需要再繼續迴圈
if(flag == 0
)
break
;
else
flag = 0
; }
}
的基本思想:對
n個記錄進行掃瞄,選擇最小的記錄,將其輸出,接著在剩下的
n-1個記錄中掃瞄,選擇最小的記錄將其輸出,
不斷重複這個過程,直到只剩乙個記錄為止。
核心**如下:
//簡單選擇排序
//a 要排序的陣列
//n 陣列的元素個數
void selectsort(int a,int
n)
if(k !=i)}}
排序演算法 氣泡排序 選擇排序
1 氣泡排序 這個氣泡排序的原理就像水裡的魚吐泡泡一樣,起初是小一點的泡泡,然後越來越大,最後的最大。演算法描述 1 設待排序序列中的記錄的數為n 2 一般的,第i趟起泡排序從1到n i 1 3 依次比較相鄰兩個記錄的數字,如果發生逆序,則交換 4 其結果是這n i 1個記錄中,關鍵字最大的記錄被交...
排序演算法 冒泡 選擇排序
思路 1.從頭開始比較每一對相臨的元素,其後者比前者大則交換,直到一輪比較結束 2.排除1中找到最大的元素,重複1的步驟 class bubblesort 如果在某一趟比較後,序列就變得完全有序,此時就沒有必要再繼續比較下去 func sort2 if sorted 如果數列在尾部已經有序 部分有序...
排序演算法之氣泡排序 選擇排序
排序演算法有很多,包括插入排序,氣泡排序,堆排序,歸併排序,選擇排序,計數排序,基數排序,桶排序,快速排序等。插入排序,堆排序,選擇排序,歸併排序和快速排序,氣泡排序都是比較排序,它們通過對陣列中的元素進行比較來實現排序 其他排序演算法則是利用非比較的其他方法來獲得有關輸入陣列的排序資訊 氣泡排序 ...