选考VB算法专题系列讲座9插入排序算法
Posted Python算法之旅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了选考VB算法专题系列讲座9插入排序算法相关的知识,希望对你有一定的参考价值。
视频内容:
系统讲解了插入排序的算法思想、代码实现和变例优化,深入浅出、环环相扣,把深奥的算法通过Excel操作、程序演示和代码分析等方式多角度呈现,娓娓道来。本次讲座的亮点是解决插入排序算法的下标越界问题,以及希尔排序算法原理和代码实现,值得一看。
视频勘误:
课后练习:
1. 对10个数据进行插入排序,需要比较的次数不可能是( )
A. 9 B. 10 C. 45 D.8
2. 略
3.略
4.使用插入排序算法对数组排序,要求奇数和偶数各自按升序排序,其中奇数在前,偶数在后。例如将数组a = (4,5,2,9,6,7,10,3,8,1),排序成a = (1,3,5,7,9,2,4,6,8,10)。
实现上述功能的VB程序如下,请将缺失的代码补充完整。
Const n = 10
Dim a(0 To n) As String
Dim i As Integer, j As Integer, mid As Integer
Private Sub Command14_Click()
mid = 1 'mid指向第一个已排序偶数的下标
For i = 1 To n '因为不知道第一个数的奇偶性,故从第1个元素开始
a(0) = a(i): j = i - 1
If a(0) Mod 2 = 1 Then 'a(0)是奇数,则将偶数和大于a(0)的奇数都右移
Do While ①
a(j + 1) = a(j)
j = j - 1
Loop
mid = ②
Else 'a(0)是偶数,则将大于a(0)的偶数右移
Do While ③
a(j + 1) = a(j)
j = j - 1
Loop
End If
a(j + 1) = ④
Next i
End Sub
除了题目提供的代码,你还能写出其他代码实现相同功能吗?
5.略
6. 略
相关优秀文章:
以上是关于选考VB算法专题系列讲座9插入排序算法的主要内容,如果未能解决你的问题,请参考以下文章