package yhf;
public class Tests {
static void zws(int a[],int s,int e,int z){
int x=s+1;
int y=e-1;
int num = s;
if(e==z+1&&s==z){
return;
}
while(true){
if(a[s]>=a[x]){
num++;
x++;
}else{
int n = a[y];
a[y] = a[x];
a[x] = n;
y--;
}
if(x==(y+1)){
break;
}
}
int n = a[num];
a[num] = a[s];
a[s] = n;
for(int i=0;i<10;i++){
System.out.print(a[i]+" ");
}
System.out.println();
System.out.println();
System.out.println("num"+num);
if(num>z){
System.out.println("大于"+s+" end"+num);
zws(a,s,num,z);
}
if(num<z){
System.out.println("小于"+x+" end"+e);
if(num==s){
zws(a,x,e,z);
}else {
zws(a,num,e,z);
}
}
if(num == z){
return;
}
}
public static void main(String[] args) {
int a[] = new int[10];
// int a[] = {55,85,55,64,69,92,15,23,9,6};
for(int i=0;i<10;i++){
a[i] = (int) (Math.random()*100+1);
}
for(int i=0;i<10;i++){
System.out.print(a[i]+"-");
}
System.out.println();
zws(a,0,10,10/2-1);
for(int i=0;i<10;i++){
System.out.print(a[i]+" ");
}
}
}