冒泡排序法(c#)

博客介绍了使用冒泡排序法对整数数组[1, 2, 3, 4, 5, 6]进行排序,共需排序5+4+3+2+1次,每次将最大数放前面,后续不再处理该数,且此方法适用于其他int型数组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将1,2,3,4,5,6用冒泡排序法进行排序
共需要排序5+4+3+2+1次
//每次都将最大的放到最前面,然后不管它,在从最后开始往上冒

       static void MaoPao(int[] arry)
        {
            int exchange = 0;
            for (int i = arry.Length - 1; i > 0; i--)//共需对比这么多个数arry[5]=6
            {
                int a = arry.Length - 1;
                for (int j = 0; j <= i - 1; j++)//每个数对比的次数   arry[5]>arry[4],arry[4]>arry[3]限定执行次数
                {
                    if (arry[a] > arry[a - 1])
                    {
                        exchange = arry[a];
                        arry[a] = arry[a - 1];
                        arry[a - 1] = exchange;
                    }
                    a--;
                }
            }
        }

当然,对于其它的int型数组也是可以使用的。
整个过程就是这样子的了。不难,但是一开始的时候也会觉得有点小麻烦!

重新整理了一下思路。这样理解方便一些

 private static void MaoPao(int[] nums)
        {
            //解题思路
            //1、每遍历一次,排完一个元素
            //2、将最后一个元素排除掉(已经是最大了)
            //3、接着遍历进行依次排序

            //升序
            int count = nums.Length;
            for (int i = 0; i < count; i++)
            {
                for (int j = 0; j < count - i - 1; j++)
                {
                    //设置一个临时变量保存
                    int num1 = nums[j];
                    //开始冒泡比较
                    if (j != count - 1 && num1 < nums[j + 1])//决定升序与降序
                    {
                        nums[j] = nums[j + 1];
                        nums[j + 1] = num1;
                    }
                }
            }
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值