快速排序(java實現)
快速排序(java實現)
時間複雜度(平均) | 時間複雜度(最壞) | 時間複雜度(最好) | 空間複雜度 | 空間複雜度 | 穩定性 | 複雜性 |
---|---|---|---|---|---|---|
快速排序 | O(nlog2n) | O(n2) | O(nlog2n) | O(nlog2n) | 不穩定 | 較簡單 |
public static void quick(int[] arr,int left,int right){
//首先確保傳入陣列 不為空
if(arr==null||arr.length==0){
return;
}
//確保 左右下標值符合要求
if(left > right){
return;
}
//拿到最左邊的值給 base下標
int key =arr[left];
int l = left;
int r = right;
while(l!=r){
while(arr[r] >= key && l<r){
r--;
}
while(arr[l] <= key && l<r){
l++;
}
if(l<r){
int temp = arr[l];
arr[l] = arr[r];
arr[r] = temp;
}
}
arr[left] = arr[l];
arr[l] = key;
quick(arr,left,l-1);
quick(arr,l+1,right);
}
相關文章
- java實現快速排序Java排序
- 快速排序 java實現排序Java
- 隨機快速排序Java程式碼實現隨機排序Java
- 排序演算法-Java實現快速排序演算法排序演算法Java
- Swift實現快速排序Swift排序
- GO 實現快速排序Go排序
- php實現 歸併排序,快速排序PHP排序
- 二十、快速排序演算法——JAVA實現(遞迴)排序演算法Java遞迴
- 快速排序三種實現排序
- Python實現的快速排序Python排序
- Go實現氣泡排序和快速排序Go排序
- 三種語言實現快速排序(C++/Python/Java)排序C++PythonJava
- 快速排序-java排序Java
- java 快速排序Java排序
- 排序演算法之快速排序的實現排序演算法
- JavaScript實現標準快速排序JavaScript排序
- Python3實現快速排序Python排序
- 快速排序的四種python實現排序Python
- Java 實現彙總排序Java排序
- Java實現氣泡排序Java排序
- Sort排序專題(5)快速排序(QuickSort)(C++實現)排序UIC++
- python實現氣泡排序、插入排序以及快速排序演算法Python排序演算法
- 快速排序演算法C++實現排序演算法C++
- 排序演算法:Java實現希爾排序排序演算法Java
- 歸併排序與快速排序的一個實現與理解排序
- C++快速排序與歸併排序的實現(LeetCode 912)C++排序LeetCode
- 七、排序,選擇、冒泡、希爾、歸併、快速排序實現排序
- 直播系統原始碼,實現快速排序和歸併排序原始碼排序
- 排序演算法Java實現排序演算法Java
- 排序演算法 Java實現排序演算法Java
- 快速排序的三種實現方法 (C++)排序C++
- Java利用Comparator實現分組排序Java排序
- 【轉】堆排序Heap Sort——Java實現排序Java
- 【JAVA演算法】排序演算法 -- 快速排序Java演算法排序
- 利用java實現插入排序、歸併排序、快排和堆排序Java排序
- Java實現二元選擇排序Java排序
- java氣泡排序演算法實現Java排序演算法
- Java實現氣泡排序和插入排序演算法Java排序演算法