Scratch3.0编程小课堂31(算法题:插入排序)

Scratch3.0编程小课堂31(算法题:插入排序)

编码文章call10242025-06-15 15:10:152A+A-

今天我们用scratch来做一道算法题:插入排序。


题目:输入任意5个数,使用插入排序法对它们进行从小到大的排序;

角色:小狗;

知识点:插入排序,列表(链表),循环变量,循环嵌套,侦测;

插入排序法的原理:

首先用数列中的第二个数与第一个数比较,如果比第一个数大,那就不管他;如果比第一个数小,将第一个数往后退一步,将第二个数插入第一个数去。

然后用数列中的第三个数与已是有序的数据比较,如果比第二个数大,那就不管它;如果比第二个数小,那就将第二个数退一个位置,让第三个数和第一个数比较,如果第三个数比第一个数大,那么将第三个数插入到第二个数的位置上,如果第三个数比第一个数小,那么将第一个数后退一步,将第三个数插入到第一个数的位置上,依次类推……最终完成全部数列的排序;

一、准备工作

1、角色:角色库选择“动物”类;

2、新建一个列表(链表),命名为“数列”;

3、新建两个循环变量,分别命名为“i”、“j”,并在舞台上显示变量;


一、编辑脚本

1、列表与变量初始化:

清空列表,循环变量i初始化赋值为1;

2、对5个数进行排序,重复执行4次;

3、输入需要排序的数:使用“侦测”的“询问”代码实现数据的逐个输入,使用两个“连接”模块把文字和输入数值连接;


3、列表赋值:把“回答”输入的数赋值给列表;

4、循环变量j赋值:给变量j赋值为i-1;

5、循环判断条件:用一个逻辑运算“或”连接两个条件,当前输入的数大于数列中的数或者变量j小于1;

6、内循环:如果当前输入的数大于数列当前的数,直接追加到最后,否则要逐一判断确定其插入的位置;

二、完整脚本

想一想,怎么样能实现让数列从大到小排序呢?

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4