快排:找一个pivot,每次以pivot为标准将小的元素放到左边,大的元素放到右边。
递归地在左边和右边进行上述操作。直到所有元素有序。
public class quickSort {
public static void main(String[] args) {
int []L={4,5,6,3,7,8};
quick_sort(L,0,L.length-1);
for(int i=0;i<L.length;i++){
System.out.println(L[i]);
}
}
public static void quick_sort(int[] arr,int begin,int end){
if(begin>=end)return;
int pivot=arr[begin];
int i=begin,j=end;
while(i<j){
while(i<j&&arr[j]>=pivot)j--;
if(i<j){
arr[i]=arr[j];
i++;
}
while(i<j&&arr[i]<pivot)i++;
if(i<j){
arr[j]=arr[i];
j--;
}
}
arr[i]=pivot;
quick_sort(arr, begin, i-1);
quick_sort(arr,i+1,end);
}
}