因為上次面試師兄讓我上機寫個快排的演算法,我沒有寫出來,很尷尬,今天把快排實現了一遍,以後遇到就不會掉這個坑了。
package testt;public class fastsort ;
int start=0
;int end=a.length-1
;sort(a,start,end);
for (int i=0
;ilength
;i++)
}public static void
sort(int a,int low,int heigh)
//接著從左向右遍歷
while ((end>start)&&(a[start];
//找到了乙個比key值要大的所以進行交換
if((end>start)&&(a[start]>=key))
}//這樣乙個迴圈過來就第一次排序完成,接著進行遞迴
if (low//進行左遞迴
sort(a,low,start-1);
if (end//進行右遞迴
sort(a,end+1
,heigh);
}}
基於Java的快速排序
快速排序 基本思想 快速排序就是通過將乙個陣列分為兩個子陣列,然後通過遞迴呼叫自身為每乙個字陣列進行快速排序實現 通常劃分關鍵字 基準元素 的標準 第乙個元素或者最後乙個元素 author wanglong 2016 9 24 下午2 18 29 public class quicksort els...
基於陣列的快速排序
快速排序演算法的實現關鍵就是我們選的基準的位置!然後程式就是個遞迴呼叫,陣列和鍊錶的實現上還是有很大的差別的。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...