訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容
class Quicksort extends Sort{ Quicksort(int[] s) { queue=s; sort(); } //排列方法 public void sort() { quick(0,queue.length-1); } public void quick(int start,int end) { if(start<end) { int i=divide(start,end); quick(start,i-1); quick(i+1,end); } } //將數列分成兩部分 public int divide(int start,int end) { int x=queue[end]; int i=start-1; for(int j=start;j<=end-1;++j) { if(queue[j]<x) { i++; int temp=queue[j]; queue[j]=queue<i>; queue<i>=temp; } } int temp=queue[end]; queue[end]=queue[i+1]; queue[i+1]=temp; return i+1; } public String toString() { for(int j=0;j<queue.length;++j) out+=queue[j]+"\t"; out+="\n"; return out; }}