分享好友 最新动态首页 最新动态分类 切换频道
C语言学习之交换(冒泡)排序
2024-12-27 02:48

  

  在学习c语言的过程中,在数组内容中我们总是能学习到对一组数据进行排序,对于排序有许多的方法,像 (交换)冒泡排序、选择排序、(基数)桶排序、(插入)二分法排序等等。

  我主要以我个人的理解去分析常见的交换(冒泡)排序,同时本人也是个新手,希望能以我的手笔让其他不懂的新手了解透这些排序。

交换(冒泡)排序:

  又名为冒泡排序,即像水中的气泡一样冒出来,在数组中数组往一端移动可以形象说是冒泡,顾名思义啦。

下面就以   4  6  32  5  12  2  15  28  9  10  这10个数字为例,我们可以从小到大排序也可从大到小排序,原理都是一样的。现就以从小到大排序为例。

  如下图、开始依次对相邻两个数进行比较,如果符合条件(此处从小到大排序,则是如果前一个数大于后一个数,那么这两个数字进行值的交换,否则保持值不变)则执行相应的操作。从图中可以看出两数比较最大的那个数就往后移(往后冒),这第一趟下来,最大的数就出来了,冒在数组的末端。那么就剩下前面的九个数进行两两比较了,相同的方式就可以依次找出第二大的数、第三大的数……这样进行九趟比较,这组数据排序就好了。

代码如下 :

  众所周知,几乎任何事物都有两面性,好与坏、利与弊。

  那么这种排序的弊端,相信大家从上图应该看出来了。在第五趟的时候整个数组是排序好了,但是呢程序还是往下执行。这样不仅浪费时间,还占用空间(虽然现在计算机的空间大、运算速度也快)。同时这种方法在处理大量数据时可能吃不消,这里只是10组数,就要比较9 趟。当然这个是可以进行优化的,我们可以加入一个标示 flag 如果在之前的比较中进行了数值的交换则说明顺序还没有排好那么继续进行,否则就说明已经排序了,这里就可以 break 了。

代码如下:

  当然,这种排序方式的优点就是稳定,不管有多少数组,只要给定足够空间和时间,就能完整无误地排序好。如果数据足够大的话还是不怎么推荐此排序方法。以上代码中简单以10个数为例对其进行排序,你可以依葫芦画瓢变更一下代码中变量就可以了。

最新文章
【韬安前沿观察】国家市监总局调查英伟达 欧盟网络弹性法案生效
一、元宇宙与人工智能1. 巴西参议院批准人工智能使用规则2024年12月10日,巴西参议院一致通过了人工智能监管框架法案,该法案即将递交众议院进行表决。此法案确立了人工智能开发与使用的基本准则,强调技术应具备透明性、安全性、可靠性、
第二届全国大学生职业规划大赛北京中医药大学校赛决赛顺利举办
全国大学生职业规划大赛北京中医药大学决赛顺利举办01赛前致辞01校党委副书记致辞学工部汇报组织工作管理学院党委书记致辞宣读比赛规则比赛正式开始一等奖王梓旭 彭程二等奖王玉玺 邸云凤 常琳晗 涂文慧三等奖丁盛 冯雪儿 李玮 王紫琼优秀
如何通过妖精漫画免费登录页面快速进入漫画世界并免费观看漫画?
随着互联网的发展,越来越多的漫画平台走入了我们的视野,给喜欢漫画的用户带来了更为便捷的阅读体验。妖精漫画作为其中的佼佼者,提供了丰富多样的漫画资源,而且平台推出的免费登录页面,使得用户能够快速进入漫画世界,享受免费看漫画的
餐饮小程序怎么制作,小程序的制作方法
餐饮会员管理系统怎么做,确定好点餐小程序得有的功能,像是菜单查看、下单、支付之类的。01、会员小程序制作流程02、微信会员小程序开发多少钱一、微信会员小程序制作流程步骤:第一步:注册小程序制作平台账号百度搜索【码云数智】,在【
芜湖seo推广价格如何
芜湖的SEO推广价格会受到多个因素的影响,包括服务提供商的经验和声誉、具体的SEO策略、关键词竞争程度、行业特点、以及客户的具体需求等。一般来说,SEO服务可能会有以下一些常见的收费模式:1. 项目收费:这是一种一次性的费用,通常用于
网站终于被收录了!
作者:陌溪陌溪的学习笔记:http://note.moguit.cn大家好,我是之前一直有小伙伴跑来问我,为啥蘑菇博客上线了这么久,百度出来只有首页?百度收录在聊这个问题之前,我们先谈谈什么是 SEO。搜索引擎优化(Search engine optimization,简
菏泽爱采购入驻的方式
百度爱采购是如何排序的?1.时间因素:爱采购网站展示的高品质数据,并非人工介入,而是受时间因素控制,在不同的时间,同一物品会出现在不同的地点。比方说,您在采购中做了一款游泳产品,早上您查询的展示位置是在首页首行,下午再次查询
链接太长怎么缩短
链接是网络中不可或缺的一部分,但有时链接太长并不好用或者方便,那么这时候怎么样才能缩短链接呢?第一种方法是使用URL缩短工具。这类工具可以将长网址通过转换算法缩短成短网址,一般常见的URL缩短工具有Google短网址、bit.ly、tinyurl等
苹果4越狱神器,一键解锁新体验,畅享无限可能!
苹果4越狱神器,一键解锁新体验,畅享无限可能!在智能手机发展的历史长河中,苹果iPhone 4无疑是一个具有里程碑意义的产品。它不仅以其精致的工业设计、出色的屏幕显示效果以及革命性的操作系统赢得了全球用户的喜爱,还激发了无数技术爱
详解GaussDB for MySQL性能优化
我们先来看看MySQL 8.0的事务提交的大致流程以上流程,是MySQL8.0对WAL原则的一种实现,这个流程意味着,任何一个事务的提交,一定要完成write buffer和flush to disk流程。然而那么这个流程中,有一个问题:每个服务器的CPU是有限的,服务
相关文章
推荐文章
发表评论
0评