内容正文:
《插入排序程序实现》导学案
[考试要求]
1. 插入排序 (c)
[学习目标]
1. 掌握插入排序算法的基本程序。
2. 综合对比区分插入排序和其他排序程序的异同点。
3. 合理选择和使用排序方式。
[自主学习]
1、 知识梳理
1.算法描述:
(1)从第一个元素开始,该元素可以认为已经
(2)取出下一个元素,在已经排序的元素序列中 扫描
(3)如果该元素(已排序)大于新元素,将该元素移到下一位置
(4)重复步骤3,直到找到已排序的元素 新元素的位置
(5)将新元素插入到该位置的
(6)重复步骤2~5
2.n个数插入排序基本代码
For i = 2 To n
If Then
tmp = a(i)
For j = To 1 Step -1 '依次后移
If Then Exit For '一旦大,则停止后移
a(j + 1) = a(j)
Next j
= tmp '将数据插入找到合适位置
End If
Next i
二、自我检测
1.以下VB程序段用插入排序的方法实现10个数据升序排序。
Dim tmp As Integer
Dim a (1 To 10) As Integer
Private Sub Form_Load ()
‘随机生成10个不重复的数存入数组a,代码略
End Sub
Private Sub Command1_Click()
For i=2 T0 10
If a(i) < a(i- 1) Then
tmp=a(i)
For j= To 1 Step -1 ‘依次后移
If tmp > a(j) Then Exit For
Next j
End if
Next i
End Sub
[课堂练习]
1.小明最近学习了一种新的排序方法,其基本思想是:经过i-l遍加工后,a(1)到a(i-l)已经有序,第i遍加工时将a(i)插入到位置1到位置i之间的适当位置p(包含位置l和