基於Java的快速排序

2021-07-23 02:58:58 字數 945 閱讀 2365

/**

* 快速排序

* 基本思想:快速排序就是通過將乙個陣列分為兩個子陣列,

* 然後通過遞迴呼叫自身為每乙個字陣列進行快速排序實現

* * 通常劃分關鍵字(基準元素)的標準:

* 第乙個元素或者最後乙個元素

* *@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...