• 数据结构之-快速排序


    设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。值得注意的是,快速排序不是一种稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动。
    优点:极快,数据移动少;O(nlog n) 期望时间,O(n^2) 最坏情况 
    缺点:不稳定。 
    View Code
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace 快速排序
    {
        class Program
        {
            public static void Sort(int[] numbers)
            {
                Sort(numbers, 0, numbers.Length - 1);
            }
    
            private static void Sort(int[] numbers, int left, int right)
            {
                if (left < right)
                {
                    int middle = numbers[(left + right) / 2];
                    int i = left - 1;
                    int j = right + 1;
                    while (true)
                    {
                        while (numbers[++i] < middle)
                        {
                            Console.WriteLine("");
                        }
                        while (numbers[--j] > middle) 
                        {
                            Console.WriteLine("");
                        }
                        if (i >= j)
                            break;
                        //Swap
                        int number = numbers[i];
                        numbers[i] = numbers[j];
                        numbers[j] = number;
                    }
                    Sort(numbers, left, i - 1);
                    Sort(numbers, j + 1, right);
                }
            }
           
            static void Main(string[] args)
            {
                int[] array = new int[] { 2, 4, 5, 1,3 };
                Sort(array);
                for(int i=0;i<array.Length;i++)
                {
                    Console.WriteLine(array[i]+" ");
                }
            }
        }
    }
    
    
    
    
    
    
    
    
  • 相关阅读:
    用户自定义异常
    触发异常
    第一阶段冲刺终
    第一阶段冲刺七
    第一阶段冲刺六
    第一阶段冲刺五
    第一阶段冲刺四
    Sufficient Statistic (充分统计量)
    DAG-GNN: DAG Structure Learning with Graph Neural Networks
    Masked Gradient-Based Causal Structure Learning
  • 原文地址:https://www.cnblogs.com/binyao/p/3051223.html
Copyright © 2020-2023  润新知