我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:小鱼儿主页 > 调度模块 >

冒泡排序法C语言解释。

归档日期:07-28       文本归类:调度模块      文章编辑:爱尚语录

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  冒泡排序是一种最简单的排序方法,通过比较相邻的元素,若发生倒序,则交换,使最大值沉到最后。

  其空间复杂度为O(1),时间复杂度为O(n2)。冒泡排序是一种稳定的排序。

  用于顺序或者链式存储结构,平均时间性能比直接插入差。当初始记录无序且n较大时,不宜采用此方法。

  初始化flag为1表示数组无序,当数组无序并且数组长度大于1的时候,执行循环。

  假如你是体育老师,你前面有一排随机站立的学生,10个,高矮不一。如果你要用冒泡排序的思路来让他们从低到高来排队,你可以这样。

  从左往右,第一个跟第二个比较,高的那么换到右边,接着第2个跟第3个比较,高的再换到右边。这样以此类推,第一遍做完后,你能保证最高的那个被移动到了队列最后。比如说姚*明同学。

  如果我是体育老师,姚*明可以去玩手机了(呵呵),因为,第一轮已经能保证他是最高的,且已经站到最后了。那么我只要对前9位同学,把第一遍的动作再做一遍,那么你就可以保证找出第2高的同学,移动到姚*明左边了。一次类推。

  所谓冒泡,就是模拟池塘里的小气泡。你可以假定小的往上跑的快,大的跑的慢。那么水底到水面上就形成了一串大小不同的泡泡。

  bubble_sort(A)//函数名叫冒泡排序,需要传入一个数组A作为参数

  for( i=1 to N-1)//10个人,其实排9轮就好了,最后一轮就一个人不用排

  haschang=false;//用一个逻辑性变量记录排序过程中是否有数据交换,开始为false

  for(j=1 to N-i)//每一轮要排序的人数是递减的, i是递增,所以每一次内循环N-i递减

本文链接:http://i-zyczenia.net/diaodumokuai/1088.html