歡樂貼+選擇排序

小馬和小騷要開始寫技術博客了,感覺身邊技術氛圍越來越好了,雖然快畢業了,但是這樣的選擇終是好的。看着博大的博客更新的好快啊,大神們都在進步,我等民工還有何理由不去好好學習。好的開始從適合自己的選擇開始,把前面寫的快速排序算法放上來,別看簡單啊,要是筆試時讓寫個快速排序,還真不一定能記得

原理:



實現:

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);

}

}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章