我们已经知道了链表是一个可以存储数据的装置,它里面的数据都被编号排列,如果要根据某一条件想对这些数据进行排序,则要掌握交换数据位置的方法,那么本篇就来介绍链表内部交换位置的方法。
工具/原料
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
喜欢请投票多谢。
上一篇:使用scratch给文字添加特效
下一篇:少儿编程思维之模式识别