zoukankan      html  css  js  c++  java
  • 快速排序

    /**
     * 快速排序
     * @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);
        }
    }
  • 相关阅读:
    人事不干人事,这算什么事
    java 单例模式
    Java 中类的加载顺序
    新的挑战
    读《月亮和六便士》所思
    读《奇特的一生》后的一些感悟
    BTrace
    Java技能树
    Android Intent
    一个ListView优化的例子
  • 原文地址:https://www.cnblogs.com/caobojia/p/6769302.html
Copyright © 2011-2022 走看看