快速排序

来源:互联网 发布:淘宝怎么申请部分退款 编辑:程序博客网 时间:2024/06/05 08:54
    class quicksort

{

    public int[] data;



    private int partition(int[] sortArray, int low, int hight)

    {

        int key = sortArray[low];

         

        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)

    {

        if(low<hight)

        {

            int result = partition(data,low,hight);

            sort(low,result-1);

            sort(result+1,hight);

        }

         

    }

     

    public void display()

    {

        for(int i=0;i<data.Length;i++)

        {

            Console.Write(data[i]);

            Console.Write(" ");

        }
        Console.ReadLine();
    }

}


    class Program
    {
        static void Main(string[] args)
        {
            // TODO 自动生成方法存根

             quicksort qs = new quicksort();

             int[] data = { 44, 22, 2, 32, 54, 22, 88, 77, 99, 11 };

        qs.data = data;

        qs.sort(0, qs.data.Length-1);

        qs.display();

}


    }
0 0
原创粉丝点击