package 排序;
public class quickSort {
public void sort ( int [ ] arr) {
if ( arr. length== 0 ) {
return ;
}
quicksort ( arr, 0 , arr. length- 1 ) ;
for ( int i: arr) {
System. out. println ( i) ;
}
}
public void quicksort ( int [ ] arr, int start, int end) {
if ( start== end) {
return ;
}
int m = arr[ start] ;
int dong = start;
int s1= start;
int e1= end;
while ( e1 > s1) {
while ( s1 < e1) {
if ( arr[ e1] < m) {
arr[ dong] = arr[ e1] ;
dong = e1;
break ;
}
e1-- ;
}
while ( s1 < e1) {
if ( arr[ s1] >= m) {
arr[ dong] = arr[ s1] ;
dong = s1;
break ;
}
s1++ ;
}
}
arr[ dong] = m;
quicksort ( arr, start, dong) ;
quicksort ( arr, dong+ 1 , end) ;
}
public static void main ( String[ ] args) {
quickSort quickSort= new quickSort ( ) ;
int [ ] test= new int [ ] { 1 , 5 , 346 , 6 , 6 , 32 , 7 , 745 , 6 } ;
quickSort. sort ( test) ;
}
}