多语言展示
当前在线:921今日阅读:27今日分享:41

少儿编程Scratch(十二)链表内数据的位置交换

我们已经知道了链表是一个可以存储数据的装置,它里面的数据都被编号排列,如果要根据某一条件想对这些数据进行排序,则要掌握交换数据位置的方法,那么本篇就来介绍链表内部交换位置的方法。
工具/原料

WINDOWS系统

方法/步骤
1

我们接下来要编写的这个程序,会接收两个输入的数字,然后将它们进行比较,将较大的放在链表第一位,较小的排在末位。第一步需要添加“开始”积木,并在“数据”模块中新建链表,仅适用于当前角色即可。

2

首先从链表指令集中添加“删除全部链表”积木,这样每次运行都会把上次的数据清空。接着添加“询问”积木,并且将接收到的回答加入到链表中去。

3

我们交换链表内数据位置至少需要两个数据,所以再接收第二个数据。如图。

4

接着在“数据”模块中新建一个变量,并把链表中位置2的数据保存到这个变量之中,因为一会儿有可能要把位置1中的数据替换到位置2中,位置2中的数据经这一替换就被破坏了。

5

添加条件和大小比较积木,在大小比较中分别拖入链表中的两个数据。

6

接下来是最核心的位置交换。如果位置1小于位置2,就把1和2的位置互换。具体实现是,先将位置2中的数据保存在变量中,再把位置1中的数据放置在位置2中(这时位置2中已经成了原位置1的数据),接着再把变量中(原位置2)的数据放置在位置1中,这样就完成了交换。

7

最后我们测试一下,运行后先输入一个66(位置1),再输入一个88(位置2)。在链表中就会自动排列它们两个位置,将大的放在前面。如图。

注意事项
1

冒泡排序的方法就是基于此原理

2

喜欢请投票多谢。

推荐信息