闲来无事复习了一下快速排序,写了一个例子。
@Test
public void quickSortTest() {
int[] i={5,3,2,11,6,4,10};
sort(i,0,i.length-1);
System.out.println(Arrays.toString(i));
}
private void sort(int[] arr,int min,int max){
int low=min;
int high=max;
int temp=arr[min];
while (high>low) {
while (high>low&&arr[high] > temp) {
high--;
}
if(high>low) {
arr[low]=arr[high];
arr[high] = temp;
low++;
}
while (high>low&&arr[low] < temp) {
low++;
}
if(high>low) {
arr[high]=arr[low];
arr[low] = temp;
high--;
}
}
if(low>min){
sort(arr,min,low-1);
}
if(max>high){
sort(arr,high+1,max);
}
}