package tree1;
import java.util.*;
public class q1 {
public staticint []a={2,5,7,0,9,7,1,3,44,21};
public static void main(String[]args)
{
System.out.println("quick sorting:");
quick(a,0,9);
System.out.println("after sorting:");
for(int i=0;i<10;i++)
System.out.print(a[i]+" ");
}
public static void quick(int[] a,int left,int right)
{
int dp;
if(left<right)
{
dp=partition(a,left,right);
quick(a,left,dp-1);
quick(a,dp+1,right);
}
}
public static int partition(int[]a,int left,int right)
{//left=0 right=9
int lo,hi,pivot,t;
pivot=a[left];
lo=left-1;//lo=-1
hi=right+1;//hi=10
while(lo+1!=hi)
{
if(a[lo+1]<=pivot)
lo++;
else if(a[hi-1]>pivot)
hi--;
else
{
t=a[lo+1];
a[++lo]=a[hi-1];
a[--hi]=t;
}
}
a[left]=a[lo];
a[lo]=pivot;
return lo;
}
}
本文出自 “hagar” 博客,谢绝转载!