幾種常見的排序演算法
阿新 • • 發佈:2019-01-28
1、排序演算法的分類
(1)交換排序:氣泡排序、快速排序
(2)選擇排序:簡單選擇排序、堆排序
(3)插入排序:直接插入排序、希爾排序
(4)歸併排序:二路歸併排序
注意這裡預設都是升序排列,下面給出swap的函式
public void swap(int[] array,int m,int n) {
int temp=0;
temp=array[m];
array[m]=array[n];
array[n]=temp;
}
2. 交換排序的程式碼
(1)氣泡排序
每一趟將待排序序列中最大元素移到最後,剩下的為新的待排序序列,重複上述步驟直到排完所有元素。
(2)快速排序
在分割槽中選擇一個元素作為軸值,將待排序元素劃分成兩個分割槽,使得左側元素的關鍵碼均小於或等於軸值,右側元素的關鍵碼均大於或等於軸值,然後分別對這兩個分割槽重複上述過程,直到整個序列有序。
3. 選擇排序程式碼
(1)簡單選擇排序
每一趟從待排序序列選擇一個最小的元素放到已排好序序列的末尾,剩下的位待排序序列,重複上述步驟直到完成排序。
4.插入排序
(1)直接插入排序
將陣列分為兩部分,將後部分元素逐一與前部分元素比較,如果當前元素array[i]小,就替換。找到合理位置插入array[i]
5.歸併排序
(1)二路歸併排序