vlambda博客
学习文章列表

插入排序法【Scratch版】

插入排序法是取出未排序的第一个值(带处理值)与已排列的值比较,插入已排序数据的适当位置。
排序过程可参考下表,以[10,3,12,20,6]数列为例,从小到大排列,数列字段[ ]内为已排列的数列。

数列

待处理值

比较与插入

排序结果

开始

10,3,12,20,6


10,3,12,20,6

步骤1

[10],3,12,20,6 3 3<10,3插入第一个位置
3,10,12,20,6

步骤2

[3,10],12,20,6 12
12>10,不变
3,10,12,20,6

步骤3

[3,10,12],20,6 20
20>12,不变
3,10,12,20,6

步骤4

[3,10,12,20],6 6

6<20,继续往前比较

6<12,继续往前比较

6<10,继续往前比较

6>3,插入第二个位置

3,6,10,12,20

 范例

随机产生5个数值放入名为【数列】的列表,在通过插入排序法将列表内的值从小到大排序,范例程序中定义了两个变量,变量【已排序End】用来记录已排序的最后一个值的项次,变量【处理中】记录待排序的第一个值的项次。

程序积木如下:

执行过程视频如下:

了解更多内容,请关注以下订阅号: