Scratch中级编程(15)——冒泡排序

冒泡排序,按照从大到小(或从小到大)的顺序,比较相邻的元素。如果第一个比第二个大,就交换他们两个。就像水泡从底向上冒泡一样,把最大(或最小)的数冒出来。仍然举下面这个例子:

10个数按照从大到小的顺序排列,首先第一个数和第二个数比,如果第二个数大则两个数互换位置,否则则位置不变;依次类推,这样比较9次之后,第一个数就是最大的数了。把最大的数找到之后,其他数仍然按照这个规则比较,最终就能做出排序。

如下示例:随机一个列表,要求按照冒泡排序从大到小排序。

按照上面的讲的冒泡排序方法,先比较第一个数和第二个数,如果第一个数大则位置不变,第二个数大则互换位置。很显然找最大数的时候需要冒4次,找第二大数的时候只需要冒3次,依次类推。

我们这里要定义一个临时变量,临时变量的目的就是存储当前最大的数,以达到列表相邻之间交换的目的。代码如下:

这就是冒泡法。冒泡法和选择排序法,是计算机排序中最基础的排序方法,也是比较常用的方法,在考试中经常会考到,学生们一定要掌握其原理,切不要生记硬背。

这两个排序方法,在效率上都属于略低效的排序方法。我们会在今后的高级学习中讨论其效率问题。

给TA赞助
共{{data.count}}人
人已赞助
综合资讯

Scratch中级编程(14)——选择排序

2023-5-28 21:14:45

综合资讯

智能计价器-第14届蓝桥杯省赛Scratch中级组真题第5题

2023-5-29 18:18:59

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索