快速排序Java实现
算法图解
package com.wzy.sort;
import java.lang.reflect.WildcardType;
public class MyQuickSort {
public static void main(String[] args) {
int[] arr = {6,1,2,7,9,11,4,5,10,8};
quickSort(arr, 0, arr.length - 1);
for (int i : arr) {
System.out.print(i + "\t");
}
}
public static void quickSort(int[] arr,int first,int last){
if(first >= last){
return;
}
int left = first;
int right = last;
while(true){
while(arr[right] >= arr[first] && left < right ){
right--;
}
while(arr[left] <= arr[first] && left < right){
left++;
}
if(left < right){
int temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
}
else{
int temp = arr[first];
arr[first] = arr[left];
arr[left] = temp;
break;
}
}
quickSort(arr,0,left-1);
quickSort(arr,left+1,last);
}
}