快排,做个笔记-阿里云开发者社区

开发者社区> 云计算> 正文

快排,做个笔记

简介: static void Main(string[] args) { var list = new List() { 3, 4, 1, 2, 6, 5, 7 }; QuickSort(list, 0, list.
        static void Main(string[] args)
        {
            var list = new List<int>() { 3, 4, 1, 2, 6, 5, 7 };
            QuickSort(list, 0, list.Count - 1); 
            foreach (var item in list)
            {
                Console.WriteLine(item);
            }

        } 

        public static int Division(List<int> list, int left, int right)
        {
            while (left < right)
            {
                int num = list[left];
                if (num > list[left + 1])
                {
                    list[left] = list[left + 1];
                    list[left + 1] = num;
                    left++;
                }
                else {
                    int temp = list[right];
                    list[right] = list[left + 1];
                    list[left + 1] = temp;
                    right--;
                }
            }
            return left;
        }
        public static void QuickSort(List<int> list, int left, int right)
        {
            if (left < right) {
                int i = Division(list, left, right);
                QuickSort(list, i + 1,right);
                QuickSort(list, left, i - 1);
            }
        } 

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章