**將常見的排序演算法原始碼放在乙個類中。本文演算法已經經過驗證,可以直接拿來進行使用。原始碼中主要包含插入排序(直接插入排序,二分插入排序,希爾排序),交換排序(氣泡排序,快速排序(由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...