/**
* 快速排序
* 基本思想:快速排序就是通過將乙個陣列分為兩個子陣列,
* 然後通過遞迴呼叫自身為每乙個字陣列進行快速排序實現
* * 通常劃分關鍵字(基準元素)的標準:
* 第乙個元素或者最後乙個元素
* *@author wanglong
* 2016-9-24 下午2:18:29
*/public
class
quicksort else
}int temp = arr[leftptr];
arr[leftptr] = arr[right];
arr[right] = temp;
//返回基準元素所在的位置
return leftptr;
}/**
* 快速排序
*/public
static
void
quicksort(int arr , int left ,int right)else
}}
測試**:
public
static
void
main(string args)
system.out.println(arrays.tostring(arr));
quicksort.quicksort(arr, 0, arr.length-1);
system.out.println(arrays.tostring(arr));
}
測試結果
原資料:[70, 75, 99, 67, 53, 68, 66, 90, 24, 82]快速排序後資料:[24, 53, 66, 67, 68, 70, 75, 82, 90, 99]
基於java的快速排序
因為上次面試師兄讓我上機寫個快排的演算法,我沒有寫出來,很尷尬,今天把快排實現了一遍,以後遇到就不會掉這個坑了。package testt public class fastsort int start 0 int end a.length 1 sort a,start,end for int i ...
基於陣列的快速排序
快速排序演算法的實現關鍵就是我們選的基準的位置!然後程式就是個遞迴呼叫,陣列和鍊錶的實現上還是有很大的差別的。include stdio.h 快速排序,核心是定位和遞迴 陣列實現 void swap int a,int b 這個交換方法用到這裡是不行的 void swap0 int a,int b ...
java 快速排序
public class myquicksort while strvoid middle strvoid low lowif low hight else if hight middle temp strvoid hight strvoid hight strvoid low strvoid lo...