插入排序法【Scratch版】
2019-12-09 11:15
插入排序法是取出未排序的第一个值(带处理值)与已排列的值比较,插入已排序数据的适当位置。排序过程可参考下表,以[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】用来记录已排序的最后一个值的项次,变量【处理中】记录待排序的第一个值的项次。
程序积木如下:
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com