QuickSort

来源:互联网 发布:九阴真经帅哥捏脸数据 编辑:程序博客网 时间:2024/06/06 06:59
private static void quickSort(int data[],int low,int high){        int pivot;    if(low < high){        pivot = findPivot(data,low,high);        quickSort(data,low,pivot-1);        quickSort(data,pivot+1,high);            }    }private static int findPivot(int[] data, int low, int high) {    int key;    //三数取中    int middle = low + (high-low)/2;    if(data[low]>data[high]){        swap(data,low,high);            }    if(data[middle] > data[high])    {        swap(data,middle,high);            }    if(data[middle] > data[low])    {        swap(data,middle,low);            }    System.out.println("key="+data[low]);    key = data[low];        while(low < high){        while(low < high && data[high] >=key)        {            high--;                    }        data[low] = data[high];        while(low < high && data[low] <=key){            low++;                    }        data[high] = data[low];            }    data[low] = key;    return low;    }private static void swap(    int data[],int begin,int end){        int tmep = data[begin];        data[begin] = data[end];        data[end] = tmep;            }
0 0
原创粉丝点击