• 递归快速排序



    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
                {
                    //右边递归到此结束
                }
      }
     }

  • 相关阅读:
    Netty学习笔记四:NIO实现群聊
    Netty学习三:NIO
    Netty学习二:IO模型 BIO
    Netty学习一:netty是什么
    idea远程debug
    filter,interceptor,controllerAdvice,aspect,controller执行顺序
    springboot使用多个@RestControllerAdvice时的拦截顺序
    记一次RestControllerAdvice无法拦截Filter内抛出异常
    SpringBoot声明式事务的简单运用
    mybatis plus 和PageHelper依赖冲突
  • 原文地址:https://www.cnblogs.com/jasonjiang/p/1763541.html
Copyright © 2020-2023  润新知