| 发表于:2007-03-19 20:31:09 楼主 |
请大家帮我看看这个快速排序算法哪错了? class shiyan1 { int quickonepass(int r[],int l,int h){ int i,j; i=l; j=h; r[0]=r[i]; do{ while((r[j]> =r[0])&&(j> i))j--; if(j> i){ r[i]=r[j]; i++; } while((r[i] <=r[0])&&(j> i))i++; if(i <j){ r[j]=r[i]; j--; } }while(i==j); r[i]=r[0]; return(i); } void quicksort(int r[], int l,int h){ int k; if(l <h){ k=quickonepass(r,l,h); quicksort(r,1,k-1); quicksort(r,k+1,h); } } } public class shiyan{ public static void main(string[] args){ int[] a={0,3,5,4,2,7,5,9,0}; shiyan1 bb=new shiyan1(); bb.quicksort(a, 1, 8); for(int i=1;i <a.length;i++){ system.out.print(a[i]+ " "); } } } |
|
|
|
|