- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
所谓冒泡排序,形象的说,就是在将一组数据从小到大的顺序排列时,小的数据视为质量较轻,大的数据视为质量较重,小的数据好比水中的气泡,往上方移动,较大的数据好比是石头,往下沉,最重的会沉到底,最轻的会浮到顶,反复进行比较,直到数据列排成有序列 请将下列数据按从大到小的顺序,利用冒泡法排序 {30,38,65,97,76,13,27,49} 1排序号: 数据序号 1 2 3 4 5 6 7 8 原始数据 30 38 65 97 76 13 27 49 2排序 数据序号 1 2 3 4 5 6 7 8 原始数据 现将8号数据49和7号数据27比较,因为4927所以,49和27的位置互换,变为: 数据序号 1 2 3 4 5 6 7 8 原始数据 i=1:第一次排序 j=8:第一步:8号、7号排序 49 27 13 76 97 65 38 30 49 27 13 76 97 65 38 30 t 49 t=d(8) : d(8)=d(7) : d(7)=t 数据序号 1 2 3 4 5 6 7 8 原始数据 j=7:第二步:7号6号排序 数据序号 1 2 3 4 5 6 7 8 原始数据 49 27 13 76 97 65 38 30 现将7号数据49和6号数据13比较,因为4913所以,49和13的位置互换,变为: 49 27 13 76 97 65 38 30 t 49 t=d(7) : d(7)=d(6) : d(6)=t j=6:第三步:比较6、5号数据 j=5:第四步比较5、4号数据方法同第三步,因为7697所以数据顺序不变 数据序号 1 2 3 4 5 6 7 8 原始数据 13 27 49 76 97 65 38 30 现将6号数据49和5号数据76比较,因为4976所以,49和76的位置不互换。 数据序号 1 2 3 4 5 6 7 8 原始数据 13 27 49 76 97 65 38 30 j=4 :第五步:比较4、3号数据 数据序号 1 2 3 4 5 6 7 8 原始数据 13 27 49 76 97 65 38 30 现将4号数据97和3号数据65比较,因为9765所以,97和65的位置互换。 数据序号 1 2 3 4 5 6 7 8 原始数据 13 27 49 76 97 65 38 30 t 97 t=d(4) : d(4)=d(3) : d(3)=t j=3:第六步:比较3、2号数据: 数据序号 1 2 3 4 5 6 7 8 原始数据 13 27 49 76 65 97 38 30 现将3号数据97和2号数据38比较,因为9738所以,97和38的位置互换。 数据序号 1 2 3 4 5 6 7 8 原始数据 13 27 49 76 65 97 38 30 t 97 t=d(3) : d(3)=d(2) : d(2)=t j=2 第七步:比较2、1号数据 数据序号 1 2 3 4 5 6 7 8 原始数据 13 27 49 76 65 38 97 30 现将2号数据97和1号数据30比较,因为9730所以,97和30的位置互换。 数据序号 1 2 3 4 5 6 7 8 原始数据 13 27 49 76 65 38 97 30 t 97 t=d(2) : d(2)=d(1) : d(1)=t 这样就完成了第一次排序,它的基本特征是将最大数排到了最左边,然后再从第8个开始,进行第二次排序,将第二大的数据排到了第二位,反复下去,就可以完成排序。一共要进行7次才能完成。 数据序号 1 2 3 4 5 6 7 8 原始数据 13 27 49 76 65 38 30 97 经过第二次排序,数据顺序应该是什么样的? 数据序号 1 2 3 4 5 6 7 8 原始数据 27 13 49 65 38 30 76 97 经过第三次呢? 数据序号 1 2 3 4 5 6 7 8 原始数据 27 13 49 38 30 65 76 97 算法分析 第1次冒泡排序时(i=1) j 从 8 开始到2 For j=8 to 2 step -1 if d(j)d(j-1) then 交换d(j) 和d(j-1)的值 第2次冒泡排序时(i=2) j 从 8 开始到3 For j=8 to 3 step -1 if d(j)d(j-1) then 交换d(j) 和d(j-1)的值 第3次冒泡排序时(i=3) j 从8 开始到4 For j=8 to 4 step -1 if d
文档评论(0)