全国服务热线:400-6136-679

位置:济南极客晨星少儿编程机器人培训学校 > 学校动态 > Scratch 链表和冒泡排序算法

Scratch 链表和冒泡排序算法

来源:济南极客晨星少儿编程机器人培训学校时间:2022/2/14 15:17:36

使用冒泡排序算法,对数组中的数值由大到小进行排序。通过比较冒泡,了解冒泡排序的原理。初步了解数组链表功能,往链表中添加数据,读取链表的数据,删除链表数据,获取链表数据条目数量。

  适用对象:适合有一定初步Scratch编程经验的用户,例如一学生。本算法单独完成的难度比较大,需要家长讲解。

徐州童程童美少儿编程学校

  实现方式

  冒泡排序制作思路:

  1)背景图:既然是冒泡,那就加个海底的冒泡的背景图。

  2)火龙角色:为了增加趣味性加入了一个火龙角色,开始时清空数据,然后随机填充15个数字,接着进行排序。火龙负责说话,提示当前系统在做什么。

  3)数组(链表)变量一个:Data

  4)设置三个变量:循环次数,当前位置,临时变量。

  变量和链表。

  5)清空数据:程序开始时,清空链表中的数据。

  a.火龙提示“开始清空数据。”

  b.使用链表删除指令,可以删除链表指定位置条数条目,也可以全部删除或者删除尾部的数据。因此如果简单,可以直接全部删除。不过为了体现操作过程,我们使用了重复执行,读取条目总数,如果条目总数>1就删除条,然后等待0.1秒。这样就能看见系统依次删除链表中的数据。

  c.火龙提示,“数据已清空”。

  清空,填充数据。

  6)随机填充数据:

  a.火龙报“开始随机填充数据”

  b.强制加了一条小的数0到链表;

  c.然后执行14次,在1-999中间随机选择一个数字,填充到链表中。填充中间未等待,因此一会填充好了15个数字。

  (初始化后开始冒泡)

  7)冒泡排序:大循环,逐个比较。

  a.设置当前位置变量为15,从后一个开始,和前面一个数相比较,如果比前面的数据大,就要往上冒泡,否则就不冒泡。

  b.设置循环次数:为当前位置减1,即次大循环,总下面的第15个数字开始,一直往上比较,比较14次。15和14比,14和13比,后是2和1比较。次将15个数字中,大的数据冒到上面,即位置1。次大循环结束。

  c.因为个数字已经是大数,因此只要对2-15的数字进行第二轮排序即可。这样第二个大循环,重复比较的循环次数就可以减少1。因此第二次比较了13次,15和14比,14和13比,后是3和2比较。即14个数字中找大。第二次大循环结束。

  大循环。

  d.依次类推,每次都找一个大的,搬到上面去。

  e.P和P-1位置的数字相比较时,如果P>P-1,即下面的数字大,就要交换。因此先将P-1存在临时变量里面;然后P挪到P-1,然后临时变量挪回P,实现P往上冒一格。火龙报“需要冒泡”或者“不需要冒泡”。

  f.冒泡比较后,等待0.5秒,这样能够看见在比较,冒泡,交换数字。

  g.每个大循环之间等待2秒,让火龙报“下一个大循环开始。”

领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/420/news/483254/违者必究! 以上就是济南极客晨星少儿编程机器人培训学校 小编为您整理 Scratch 链表和冒泡排序算法的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-6136-679