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


    using System;


     /// <summary>
     /// 递归快速排序 的摘要说明。
     /// </summary>
     public class QuickSort
     {
      public static void Main()
      {
       int[] intary={45,67,34,23,12,89};
       Console.WriteLine("排序前,输出数组如

    下:");
       printArray(intary);
       quickSort(intary,0,intary.Length-1);
       Console.WriteLine("快速排序之后,输出

    数组如下:");
       printArray(intary);

      }
      private static void printArray(int[] tmpary)
      {
       
       foreach(int tmpnum in tmpary)
       {
        Console.Write(tmpnum+"\t");
       }
       Console.WriteLine();
      }
            private static void quickSort(int[] ary, int start,

    int end)
      {

       int i=start;
       int j=end;
       int pivot=ary[i];//把枢轴的数字独立存

    起来
       while(i<j)
       {
        while(i<j  &&  pivot<=ary

    [j])//从右边找寻比枢轴小的数字,找到后就换到左边枢轴位置去
        {
         j--;
        }
        ary[i]=ary[j];//将找到的较小

    数字换到枢轴位置
        while(i<j && pivot>ary[i])//

    从左边找寻比枢轴大的数字,找到后就换到右边刚才那个大数字的位

    置去
        {
         i++;
        }
        ary[j]=ary[i];//将找到的较大

    数字换到刚才那个空位去
       }
       ary[i]=pivot;//i此时为分隔位置,所有i

    左边的都比枢轴小,所有i右边的都比枢轴大,将枢轴填入此位置
                ary[j] = pivot;
                if (i > start)
                {
                    quickSort(ary, start, i - 1);//使用快速排序法

    递归重排枢轴左边比其小的全部数字
                }
                else
                {
                    //左边递归到此结束
                }
                if (i < end)
                {
                    quickSort(ary, i + 1, end);//使用快速排序法递

    归重排枢轴右边比其大的全部数字
                }
                else
                {
                    //右边递归到此结束
                }
      }
     }

  • 相关阅读:
    新浪微博OAuth2.0 VS OAuth1.0 主要区别总结
    NSCondition的用法
    iOS $99 刀 开发者证书的申请步骤
    three20 报出 文件 no such file or directory的原因以及解决方案
    three20.bundle以及 sharekit.bundle多语言无法生效的解决方案
    NSThread的使用
    iOS中switchcase的优化用法
    iOS开发中生成随机数方法的选择
    面向对象软件设计原则(五) —— 应用示例
    普通软件项目开发过程规范(四)—— 控制和结束阶段
  • 原文地址:https://www.cnblogs.com/jasonjiang/p/1763541.html
Copyright © 2011-2022 走看看