import java.util.Random;
public class ArithmeticTest {
public static void main(String[] args) {
ArithmeticTest test = new ArithmeticTest();
int[] arr1=new int[5];
for(int i=0;i<arr1.length;i++){
arr1[i]=new Random().nextInt(100)+1;
}
for(int i=0;i<arr1.length;i++){
System.out.print(arr1[i] + " ");
}
System.out.println();
long a=System.currentTimeMillis();
test.quickSort(arr1, 0, arr1.length-1);
for(int i=0;i<arr1.length;i++){
System.out.print(arr1[i] + " ");
}
long b=System.currentTimeMillis();
System.out.println();
System.out.println("快速排序耗時:"+(b-a)+"ms");
}
public void quickSort(int[] arr,int head,int tail){
int i=head;
int j=tail;
if(i > j){
return;
}
int key=arr[i];
while(i<j){
while(i<j && key<=arr[j]){
j--;
}
if(i<j){
arr[i++]=arr[j];
}
while(i<j && key>=arr[i]){
i++;
}
if(i<j){
arr[j--]=arr[i];
}
}
arr[j]=key;
quickSort(arr,head,j-1);
quickSort(arr,j+1,tail);
}
}