《冒泡排序算法》PPT课件

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

3.4对数据进行排序冒泡排序“明日之星英语演讲大赛”评分出来了,需要选出每组前三名进入决赛。我们需要设计程序,对选手成绩进行排序。那么我们应该怎样做呢?要解决这个问题,那么就让我们一起来学习排序算法。排序的意义排序是为了将一组杂乱的数据变成一组有序的数据。(递增或递减)排序法的使用时非常频繁的,在实践中,人们设计出了许多好的算法,如交换排序、插入排序、以及选择排序等等。各种算法有其自身的特点与适用范围,今天我们来学习其中人们较常用的一种:冒泡排序法。冒泡法排序“冒泡法排序”也叫“起泡法排序”,是一种比较简单、易懂的交换排序方法,它通过将相邻元素进行比较和交换,逐步将一个无序序列排列为一个有序序列。将元素按从小到大的顺序排列称为升序排列,反之称为降序排列。理解:冒泡排序是在一列数据中把较小的数据逐次向上推移的一种排序技术。(观赏FLASH)冒泡排序根据棋牌规则,把下列5张牌从小排到大排列冒泡排序用数组来存储一系列同类型的数据,然后调整数组中的元素.例如:dimA(4)asinteger‘定义一个数组变量A图3-14冒泡法排序示意图A(0)A(1)A(2)A(3)A(4)这启发我们把一个数组的一端比做水底而把另一端想像成水面,不断把较小的数据移向一端或把较大的数据移向另一端,最终就可以得到排好序的数组。在这种排序的过程中,大的数就如气泡一样逐层下沉,而小的数逐个上浮,因此被形象地比喻成“冒泡”,故称为冒泡法。算法分析第1次冒泡排序时(i=0)j从4开始到1Forj=4to1step-1ifd(j)d(j-1)then交换d(j)和d(j-1)的值第2次冒泡排序时(i=1)j从4开始到2Forj=4to2step-1ifd(j)d(j-1)then交换d(j)和d(j-1)的值第3次冒泡排序时(i=2)j从4开始到3Forj=4to3step-1ifd(j)d(j-1)then交换d(j)和d(j-1)的值•当i从0到3变化时•每次j从4到i+1时•d(j)比d(j-1)小,则交换它们第4次冒泡排序时(i=3)j从4开始到4Forj=4to4step-1ifd(j)d(j-1)then交换d(j)和d(j-1)的值程序代码:Fori=0To3Forj=4Toi+1Step-1IfA(j)A(j-1)Then()EndIfNextjNextik=A(j):A(j)=A(j-1):A(j-1)=k当i从0到3变化时每次j从4到i+1时A(j)比A(j-1)小,则交换它们两个数进行数据交换,就象两杯水进行交换,需要再拿一个空杯总结(*)数组A(n)Fori=0Ton-1Forj=nToi+1Step-1数组d(1ton)Fori=1Ton-1Forj=nToi+1Step-1i控制循环次数j控制元素对比与交换

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功