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

     private static int sortUnit(int[] array, int low, int high)
            {
                int key = array[low];
                while (low < high)
                {
                    /*从后向前搜索比key小的值*/
                    while (array[high] >= key && high > low)
                        --high; 
                    /*比key小的放左边*/
                    array[low] = array[high];   
                    /*从前向后搜索比key大的值,比key大的放右边*/
                    while (array[low] <= key && high > low)
                        ++low; 
                    /*比key大的放右边*/
                    array[high] = array[low];
                }
                /*左边都比key小,右边都比key大。//将key放在游标当前位置。//此时low等于high */
                array[low] = key;
                foreach (int in array)
                {
                    Console.Write("{0} ", i);
                }
                Console.WriteLine();
                return high;
            }    
            /**快速排序 
    *@paramarry 
    *@return */
            public static void sort(int[] array, int low, int high)
            {
                if (low >= high)
                    return
                /*完成一次单元排序*/
                int index = sortUnit(array, low, high); 
                /*对左边单元进行排序*/
                sort(array, low, index - 1);
                /*对右边单元进行排序*/
                sort(array, index + 1, high);
            }

      

  • 相关阅读:
    Hologres如何支持亿级用户UV计算
    飞猪基于 Serverless 的云+端实践与思考
    高德打车构建可观测性系统实践
    程序员写好技术文章的几点小技巧
    配置审计(Config)变配报警设置
    进入中国内地第31年的麦当劳 ,为什么还能不断吸引新消费人群?
    OceanBase再破纪录!核心成员陈萌萌:坚持HTAP就是坚持我们做数据库的初心
    找出有序数组中缺失的数字
    删除值重复的结点
    想交链表----若有缘 必相见
  • 原文地址:https://www.cnblogs.com/wuhailong/p/4881431.html
Copyright © 2011-2022 走看看