public class app14_21 {
public static void quicksort(double data[],int left,int right){
int l,r;
double pivot,temp;
l=left;
r=right;
pivot=data[(left+right)/2];
while(l<r){
while(data[l]<pivot)++l;
while(data[r]>pivot)--r;
if(l>=r)break;
temp=data[l];
data[l]=data[r];
data[r]=temp;
if(l!=pivot)--r;
if(r!=pivot)++l;
if(l==r)l++;
if(left<r)quicksort(data,left,l-1);
if(l<right)quicksort(data,r+1,right);
}
}
public static void main(String[] args) {
double[] c=new double[20];
for(int i=0;i<c.length;i++)
c[i]=Math.random();
quicksort(c,0,c.length-1);
for(int i=0;i<c.length;i++)
System.out.println("c["+i+"]="+c[i]);
}
}
输出结果:
c[0]=0.0017157245854473313
c[1]=0.04421838882501772
c[2]=0.13265296642909408
c[3]=0.23255806275317537
c[4]=0.20107666462450102
c[5]=0.03374444510892294
c[6]=0.009405415771444714
c[7]=0.016751263523786197
c[8]=0.32626635528185965
c[9]=0.31534827700023316
c[10]=0.3446043204203364
c[11]=0.4978165689543308
c[12]=0.5128318578433904
c[13]=0.6085661814873359
c[14]=0.5193297967187718
c[15]=0.6227196202834995
c[16]=0.8016325743760891
c[17]=0.8498964493184934
c[18]=0.8596199038465178
c[19]=0.8633629971219713