评论

​scratch排序算法题目:实现选择排序、冒泡排序、插入排序

01

排序法

排序就是把一组数据中的元素按照一定的次序排列在一起。排序算法在很多领域受到相当高的重视,尤其是在大量数据的处理方法。一个优秀的算法可以节省大量的资源。本章节重点讲冒泡排序、选择排序、插入排序。

02

冒泡排序

假设列表中有5个数据,依次是32、10、28、51、46,将其按从大到小的顺序重新排列。

冒泡排序法就是依次比较两个相邻的元素,如果顺序错误就把他们交换过来,直到没有相邻元素需要交换。这个名字的由来是因为会经由交换“浮”到数列的顶端,就像水中的气泡一样。

分析:

(1)像水中的气泡一样从底部开始,比较相邻的两个元素,如果顺序错误,就交换,让大的数逐渐浮上来。先比较46和51,顺序正确,不用交换。

(2) 对剩下的每一对相邻元素做同样的操作。一轮比较结束后,最上面的元素就是最大的数,标记为蓝色,访部分称为有序区。

(3) 白色部分仍然处于无序状态,对无序区中所有的元素重复上面的操作,即把无序区中的最大元素浮到有序区的最后一位。

(4)持续对无序区重复上面的步骤,直到排序完毕

程序实现:

03

选择排序

它的工作原理是每一次从待排序的数据元素中先出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,放到已排序序列的末尾。以此类推,直到全部待排序的元素排完。

分析:

每次都在无序区中找到最大的元素,放到有序区的末尾。

程序实现:

04

插入排序

将无序区中的数据按照顺序一个一个地插入有序区中,该数据在有序区中可以使用顺序查找法找到自己的位置,最终得到的序列就是已经排好的数据。

分析:

一开始默认第一项为有序区,从第二开始,每次都在无序区取出第一个元素,在有序区中寻找正确的位置放入。

插入排序程序实现:

05

scratch算法练习集免费领取(含程序)

获取方法:v~x关注少儿编程吕口口,回复“算法”获取。

07

scratch素材--软件集成版

给孩子找素材是一件麻烦的事情,找的图片还有可能给孩子扣好背景,或者扣成孩子想要的样子。即使去淘宝买的素材,也要从百度网盘,但素材太多大了或者太多文件,也要充值百度网盘超级会员才能保存,提高下载速度。即使下载了,也要上传,不是特别方便,尤其是不好查找。

口口老师深知各位家长的痛点,将常用素材集成在软件角色和背景库当中,无需上传,只需要角色/背景库中查找。更有每月更新版,让孩子专注于编程,发挥创意即可。

关注即可领取,下载限速,方便快捷。

返回搜狐,查看更多

责任编辑:

平台声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
阅读 ()
大家都在看
推荐阅读