• 快速排序


    /**
     * 快速排序
     * @author Administrator
     *
     */
    class Quicksort
    {
         
        private int partition(int sortArray[],int low,int hight)
        {
            int key = sortArray[low];
             //判定条件必须小于 如果小于等于,跳出的时候low会大于hight
            //key的置换发生在low == hight中
            while(low<hight)
            {
                while(low<hight && sortArray[hight]>=key)
                    hight--;
                sortArray[low] = sortArray[hight];
                 
                while(low<hight && sortArray[low]<=key)
                    low++;
                sortArray[hight] = sortArray[low];
            }
            sortArray[low] = key;
            return low;
        }
         
        public void sort(int low,int hight, int data[])
        {
            if(low<hight)
            {
                int result = partition(data,low,hight);
                sort(low,result-1, data);
                sort(result+1,hight,data);
            }
             
        }
         
        public void display(int data[])
        {
            for(int i=0;i<data.length;i++)
            {
                System.out.print(data[i]);
                System.out.print(" ");
            }
        }
        public static void main(String[] args) 
        {
            // TODO 自动生成方法存根
            Quicksort qs = new Quicksort();
            int data[] = {44,22,2,32,54,22,88,77,99,11};
            qs.sort(0, data.length-1, data);
            qs.display(data);
        }
    }
  • 相关阅读:
    python的logging库
    python的os库
    python的setup和teardown
    CF339D Xenia and Bit Operations线段树
    poj3311Hie with the Pie状压dp
    poj3254Corn Fields状压Dp
    CF414BMashmokh and ACMDP
    母函数6连杀
    母函数hdu1085
    UVA 1401Remember the WordDp
  • 原文地址:https://www.cnblogs.com/caobojia/p/6769302.html
Copyright © 2020-2023  润新知