(15)--14冒泡排序算法二级C语言编程技巧与实例解析.ppt

(15)--14冒泡排序算法二级C语言编程技巧与实例解析.ppt

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

C语言程序设计—冒泡排序算法

上面是我在网上截取的一张网络投票截图的一部分,如果我们要对上图中的五幅作品获得的票数用冒泡算法进行排序,排序过程如下:问题引入

82<2814不交换;2814>91交换;票数我们先把票数写入一个一维数组,通过下面的方法来实现排序:(1)8228149110435第1趟82281491104352814>104交换;2814>35交换;最大数2814下沉到最后。第2趟822814911043582<91不交换;91<104不交换;(2)104>35交换;第二大数104下沉到倒数第二的位置。第3趟822814911043582<91不交换;91>35交换;(3)第三大的数91下沉到倒数第三的位置。第4趟822814911043582>35交换;(4)第四大的数82下沉到倒数第四的位置,最小的数35上浮到最上面。排序个数(n)趟次数(j)比较次数(i)514(5-1)523(5-2)532(5-3)541(5-4)冒泡法动画演示

根据动画演示得出结论对n个数进行排序需要进行n-1趟操作第j趟需要进行n-j次两两比较

以上所说的排序方法就是冒泡排序法,它的基本原理是:对原始数据按从前往后的方向进行多次扫描,每次扫描称为一趟。当发现相邻两个数据的次序与排序要求的大小次序不符合时,就将这两个数据进行互换。逐步把一个无序的数据序列变成有序的数据序列。冒泡法基本原理

可见,在排序过程中,较小的数据好比水中气泡逐趟向上漂浮,而较大的数据好比石块往下沉,每一趟有一块“最大”的石头沉到水底。这也是“冒泡排序”名字的由来。冒泡法排序

输入数据到一维数组进行1到n-1次外层循环每趟进行1到n-j次比较判断相邻两个数值的大小如果前面数值大于后面的数值通过中间变量进行数值交换如果前面数值小于后面数值不交换把最后结果进行输出冒泡法流程图

冒泡法排序程序代码及运行结果对照

冒泡法排序程序代码及运行结果对照

冒泡法排序程序代码及运行结果对照

思考:如何对上面我们介绍的冒泡排序进行优化呢?课后作业

文档评论(0)

177****2883 + 关注
实名认证
内容提供者

热爱教育,专注于教育领域创作与分享,让我们共同进步。

1亿VIP精品文档

相关文档