常見的排序演算法Java原始碼示例

2021-08-20 19:18:27 字數 1151 閱讀 2498

**將常見的排序演算法原始碼放在乙個類中。本文演算法已經經過驗證,可以直接拿來進行使用。原始碼中主要包含插入排序(直接插入排序,二分插入排序,希爾排序),交換排序(氣泡排序,快速排序(由quick,partition兩個方法完成)),選擇排序(簡單選擇排序,堆排序(由heap,buildmaxheap,adjustdown三個方法完成)),歸併排序(舉例了二路歸併排序的例子,由mergefrom2和merge兩個方法完成)

public

class sort

}//二分插入排序

public

void

half(int src)

for(int j=i; j>left; j--)

src[j] = src[j-1];

src[left] = temp;}}

//希爾排序

public

void

shell(int src)}}

//交換排序

class swapsort

if(!flag)

return ;}}

//快速排序

public

void

quick(int src, int left, int right)

}public

intpartition(int src, int left, int right)

src[left] = pivot;

return left;}}

//選擇排序

class selectsort

}//堆排序

public

void

heap(int src)

}public

void

buildmaxheap(int src)

public

void

adjustdown(int src, int i, int j)

}src[i] = temp;}}

//歸併排序

class mergesort

}public

void

merge(int src, int left, int mid, int right)

}}

各類排序演算法彙總(java原始碼)

主要內容為 快排 插入排序 選擇排序 冒泡 希爾排序 堆排序 歸併排序 最下方有swap函式和測試 自行根據函式名替換排序演算法即可 快排 public static void quicksort int arr,int low,int high while leftif left1 quickso...

Java常見的排序演算法

氣泡排序演算法的運作如下 假定從後往前 比較相鄰的元素。如果第乙個比第二個大或小,就交換他們兩個的位置 將序列中所有元素兩兩比較,將最大的放在最後面。將剩餘序列中所有元素兩兩比較,將最大的放在最後面。重複第二步,直到只剩下乙個數。實現 1.設定迴圈次數。2.設定開始比較的位數,和結束的位數。3.兩兩...

java常見排序演算法

package algorithms public class arraydemo int max getmax arr arr sort2 arr int start 0 int end arr.length 1 sort3 arr,start,end print arr public stati...