vb下标越界_选考VB算法专题系列讲座9插入排序算法

视频内容:

系统讲解了插入排序的算法思想、代码实现和变例优化,深入浅出、环环相扣,把深奥的算法通过Excel操作、程序演示和代码分析等方式多角度呈现,娓娓道来。本次讲座的亮点是解决插入排序算法的下标越界问题,以及希尔排序算法原理和代码实现,值得一看。

视频勘误:

插入排序的算法思想比较简单,但要求学生熟练掌握数组基本操作,理解如何将一个新元素x插入到有序数组中。由于我在讲解时花了很多时间来回顾数组的基本操作,导致讲解的节奏比较慢,显得有些枯燥了。到了后面又有些急躁,声音变小了,口误也比较多。另外在制作PPT时不够仔细,好几个地方都把“插入排序”写成了“选择排序”,在此表示歉意。 如果你发现更多错误,请及时联系我,以便完善勘误表。 1. 时间00:34:55 勘误内容:PPT显示内容错误,修改如下图:

eac4794f4d7727df5e71e7901ef7fb49.png

 课后练习:

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. 略

温馨提示:      《插入排序算法课后练习及答案解析》(完整版)将以付费文章形式于明天在本公众号推出。原创不易,推出付费文章也是尊重个人劳动成果的一种尝试,希望大家多多支持和谅解。 需要本视频(包括往期所有视频)对应PPT和课后练习(完整版含答案)word版本的朋友,请加入“选考VB算法解析”知识星球。众多师生聚集在星球讨论、分享VB算法问题和复习迎考方法,大量选考VB算法资料等你来下载。 我们专注选考VB算法,感兴趣就一起来!

766186f39f31fb9cc0301254667e92b7.png

相关优秀文章:

     选考VB算法专题系列讲座0课程简介

     选考VB算法专题系列讲座1循环结构基础

     选考VB算法专题系列讲座2数组基本操作

     选考VB算法专题系列讲座3字符串基本操作

     选考VB算法专题系列讲座4解析算法

     选考VB算法专题系列讲座5枚举算法

     选考VB算法专题系列讲座6顺序查找算法

     选考VB算法专题系列讲座7选择排序算法

     选考VB算法专题系列讲座8冒泡排序算法

ecb66969e98940802c112bdb45fc936b.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值