冒泡排序
让编程改变世界
Change the world by program
[caption id="attachment_576" align="aligncenter" width="300"]
冒泡排序[/caption]
好了,我们回到正题,这次的阶段性上机实践小甲鱼想让大家学点”骨髓”的东西,整天VCL 用多了也对大脑不好~
排序算法:排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。
排序算法有很多种,其中使用的比较多的我们会抽出来研究,今儿咱就聊聊这个冒泡排序。
原理讲解
[kml_flashembed publishmethod="static" fversion="8.0.0" movie="http://blog.fishc.com/wp-content/uploads/2012/08/冒泡排序.swf" width="400" height="300" targetclass="flashmovie" wmode="transparent"]
[/kml_flashembed]
算法规律:
第一轮:将第1 个数与第2 个数比较,若第1 个数大于第2 个数则交换它们的位置,否则不交换;
再将第2 个数和第3 个数比较,若第2 个数大于第3 个数则交换它们的位置,否则不交换;
依此类推,直到第(N-1)个数和第N 个数比较,若前者大于后者,则交换它们的位置。
经过 N-1 次比较后,将最小的数放在了第N个数的位置,即最小的数已经冒泡上去了。
第二轮开始按照第一轮的方法将剩下的 N-1 个数中最小的数也冒泡上去。
接着每一轮都将最小的数冒泡……
最后,有序的数列就出来了~
那么,我们可以得出以下结论:
需要比较N-1轮。
在第K轮比较中,需要比较N-K次。
比较的基本规则是:
若前面的数小于后面的数则交换,否则不交换。
[buy]
获得所有教学视频、课件、源代码等资源打包 [/buy]
[Downlink href='http://urlxf.qq.com/?J7B7Jv6']视频下载[/Downlink]