C#冒泡实现的几种写法优化变种(包括鸡尾酒)

本文介绍了冒泡排序的基本思想,即通过相邻元素的比较和交换逐步达到有序状态,每次冒泡过程都会缩小未排序部分的边界。此外,还特别讨论了鸡尾酒排序(双向遍历)的方法,该方法从左到右,再从右到左交替进行,以提高排序效率。
摘要由CSDN通过智能技术生成

冒泡排序 思想 就是从一端开始 2 2相比较 而达到有序 每冒泡一次 边界缩小

也可以双向遍历 例如鸡尾酒 从左扫到右  从右扫到左 

class Program
    {

        //冒泡排序篇 →基础 →改写→ 优化
        //冒泡思想2个比较大或者小往后或往前冒泡 
        //活用循环 for while 都可以 记住活用 变量 维护条件
        //理解排序思想 定义自己需要的变量  一定要知道这个变量的意义
        static void Main(string[] args)
        {   //乱的
            int[] arr = new int[]
            { 20, 30, 15, 8, 5, 3, 18, 25, 4, 2, 1, 44, 21, 28, 9, 77,88, 99 };
            //基本有序的
            int[] arr1 = new int[] { 1,2,3,4,5,6,8,7,9};
            //BubbleSort1(arr); //arr 比较了153次         arr1比较了36次
            //BubbleSort2(arr1); //arr 比较了94次          arr1比较了14次
            //BubbleSort3(arr);//arr 比较了132次         arr1比较了15次
            //BubbleSort4(arr1);//arr 比较了153次         arr1比较了36次


            for (int i = 0; i < arr.Length; i++)
          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值