小馬和小騷要開始寫技術博客了,感覺身邊技術氛圍越來越好了,雖然快畢業了,但是這樣的選擇終是好的。看着博大的博客更新的好快啊,大神們都在進步,我等民工還有何理由不去好好學習。好的開始從適合自己的選擇開始,把前面寫的快速排序算法放上來,別看簡單啊,要是筆試時讓寫個快速排序,還真不一定能記得
原理:
class quicksort{
public int getMiddle(int low,int heigh,float arr[]) { //快速排序法
float average=arr[low];
while (low<heigh) {
while (low<heigh&&arr[heigh]>=average) {
heigh--;
}
arr[low]=arr[heigh]; //比中軸小的記錄移到左邊
while (low<heigh&&arr[low]<=average) {
low++;
}
arr[heigh]=arr[low]; //比中軸大的記錄移到右邊
}
arr[low]=average;
return low;
}
public void quick(int low,int heigh,float arr[]) {
if (low<heigh) {
int middle=getMiddle(low, heigh, arr);
quick(low, middle-1, arr);
quick(middle+1,heigh, arr);
}
}
}