冒泡排序(Bubblesort)

       冒泡排序的介绍以及讲解。

       这里介绍的是升序排序的原理,如果你已经对冒泡排序的原理完全掌握了,那么不管是升序还是降序,是先排小的还是先排大的都难不倒你。

一、为什么叫冒泡

       这个问题跟这种排序的原理有关,它的原理就像烧水一样,水里的气泡会随着气泡的高度的变高而变大(这是因为越高水压越小,水给气体的压力变小了,气泡就会变大)。这里讲完不理解没事,看完原理就理解了。

二、冒泡排序的原理

       升序排序,所以我们从最大的排到最小的。

       需要获得两个条件:1、那个的元素应该放的位置。2、那个元素。

      1、那个元素该放的位置

              升序排序,所以只要我们写一个遍历,从大到小的遍历,这样就能得到我们放元素的位置了。

      2、那个元素

              升序排序,而且我们从最大的排到最小的,先排最大的,所以我们要对数组进行遍历来找到那个最大的元素,然后再把那个元素放到它应该在的位置。这个过程也就是找元素。

              找元素的过程中,如果前者比后者小,那我们就交换两个元素,而不是直接覆盖,覆盖会造成元素的遗失。

3、冒泡需要的参数

              理解完前两个原理之后,对于排序前的数组,我们需要用到原数组的元素的个数(用来遍历),还有具体元素的大小,所以需要传入数组的首地址跟元素的个数。

三、冒牌排序的实现

void Bubblesort(int *nums,int numssize){
    for(int i = numssize-1;i>=0;i--){   //那个元素该放的位置
        for(int j = 1;j<=i;j++){        //找到那个元素
            if(nums[j-1]>nums[j]){
                int temp = nums[j-1];
                nums[j-1] = nums[j];
                nums[j] = temp;
            }
        }
	}
}
  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

他乡明月.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值