1
2
3
4
5
数组 38 39 51 57 66 2、创建新的序号,比较数的大小移动数据
旧序号 旧数组
1 38
2 39
3 51
4 57
5 66
新序号
1
2
3
4 57 52
5 66 57
6 66
流程图:
因为52<R[5] R[6]:=R[5]
因为52<R[4] R[5]:=R[4] 因为52>R[3] R[4]:=52
将52插Байду номын сангаас 4号位置
空5号位置
空4号位置
问题二:对一个有序列{ R[1],R[2],…,R[n] },要将 新数据A插入到有序列中,形成新的有序列, 应该怎么做呢?
根据分析原理画出流程图
思考: 1、还有其它插入A的方法吗?画出流程图
2、如何以有序排列的算法为平台进行无序排序?
{ 49,38,65,97,76,13,27,49}
有序列插入排序
教学目标:了解有序列插入排列的原理 能写排序算法
教学难点:插入排序的原理和算法
预备知识
有序列的概念:
对于一组数据按照一定的规则顺序排列 时,通常称之为有序列.
有序列的插入排序 在已经按照某一规则排好的一系列数中,再 插进一个数,成为新的一序列数,且仍按照 原来的规则排列.
用直接插入法把23插入有序列5 8 11 24 33 38 45 48 50 60中,则23在该有序列中 的序位为( 4 )
用直接插入法把95插入有序列45 55 67 81 99 102 105 152中,则该有序列中的第1个 数和最后一个数的序号变为( ) A.1 8 B. 2 9 C. 1 9 D.2 8