冒泡排序 零基础入门学习Delphi18

冒泡排序

 

让编程改变世界

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"] Get Adobe Flash player [/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]
原文地址:https://www.cnblogs.com/LoveFishC/p/3847123.html