快速排序Java实现

来源:互联网 发布:python 字典值为列表 编辑:程序博客网 时间:2024/06/05 22:53
public class Quicksort {    private  void quicksort(int[] array, int left, int right) {if(left>=right)return;int base=quickswap(array,left,right);//以基点为准,左侧大于基点,右侧小于基点quicksort(array,left,base-1);//对基点左侧数组排序quicksort(array,base+1,right);//对基点右侧数组排序}/*交换元素,使数组的left到right之间的元素:在base元素左侧小于base,右侧大于base*/private  int quickswap(int[] array, int left, int right) {int base=array[left];         while(left<right)        {        while(left<right && array[right]>base)        right--;        array[left]=array[right];        while(left<right && array[left]<base)        left++;        array[right]=array[left];        }        array[left]=base;        return left;}public static void main(String[] args){int[] array= {50,10,90,30,70,40,80,60,20};new Quicksort().quicksort(array,0,array.length-1);for(int ele:array)System.out.println(ele);    }}

原创粉丝点击