版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Visual Basic 程序设计教程,内蒙古科技大学实践训练中心,第七章 数组,7.1 数组的基本概念,7.1.1 数组的基本概念 数组:由一定数目的同类元素按一定顺序排列而成的结构类型数据,是一组具有同一名字、不同下标的下标变量。 一般格式: s(n) 其中:s称为数组名,n是下标 一个数组可以含有若干个下标变量(或称数组元素),下标用来指出某个数组元素在数组中的位置。如s(3)代表s数组中的下标为3的元素。 数组应先定义(声明)后使用,数组的声明包括明确数组名、类型、维数和数组的大小。 静态(定长)数组:声明数组时确定大小; 动态(可变长)数组: 声明数组时不确定大小;,7.1 数组的基
2、本概念,7.1.1 数组的基本概念 例:dim mark( 1 to 100) as integer 声明了一个一维定长数组,数组的名字为mark,类型为整型; 共有100个元素,下标的取值范围:1100。 mark的数组元素依次为mark(1)、mark(2)、mark(100); mark数组内存分配示意图:,mark(1),mark(2),mark(i),mark(99),mark(100),每组数组元素有一个唯一的顺序号,下标不能超出数组声明时的上、下界范围。 一个下标表示一维数组;多个下标,表示多维数组。 下标可以是整型的常数、变量、表达式; 一般情况下,数组中的各元素类型必须相同;
3、但若数组类型为Variant时,可包 含不同类型的数据。,7.1 数组的基本概念,7.1.2 数组的定义 数组的定义方式; Dim:用在窗体模块或标准模块及过程中,定义窗体或标准模块级数组; ReDim:用来重新定义动态数组; Static:用来说明该数组为静态数组; Global(Public):用在全局模块中(标准模块)中,说明数组为全局的; 1、一维数组 一个数组若只有一个下标就能确定一个数组元素的数组中的位置,则称为一 维数组; 定义形式: Dim 数组名(下标下界 To 下标上界 ) As 类型名称 如:Dim a(1 to10) as integer Dim b(10) as in
4、teger,7.1 数组的基本概念,7.1.2 数组的定义 2、二维数组 由具有两个或多个下标变量所组成的数组称为二维或多维数组。 定义形式: Dim 数组名(第一维下标下界 To 第一维下标上界, 第二维下标下界 To 第二维下标界 ) As 类型名称 如:Dim a(1 to10,3 To 20 ) as String 说明: 格式中的数组名的命名与简单变量名相同,可以是任意合法的变量名 类型名称可以是任何VB所定义的合法类型,包括基本类型和用户自 定义类型; 格式 中部分为可选部分,若省略,则下标下界默认为0,或通过下 面方式定义下标下界的默认值:Option Base n 其中:n只能
5、为0或1;Option只能出现在窗体层或模块层,且该定 义必须在数组定义之前完成,若是多维数组则对每一维都有效。,7.1 数组的基本概念,7.1.2 数组的定义 例如: Option Base 1 设置下标默认为1 Dim a(5) as integer a数组的各元素下标取值为:15 Dim x(3,2) as single x数组的第一维下标取值:13,第二 维下标取值:12 数组必须先定义后使用,未定义不能使用,下标为整型常量; 当用Dim语句定义数组时,该语句把数组元素初始化为0或空字符串; 同一过程中,数组名不能与其他数组名或变量名相同; 数组声明中的下标不能是变量,只能是常量; 例
6、【7-1】定义数组实例及相关概念释义 Dim a(5) as integer 定义整型数组a,下标上界为5 a(1)=1 :a(2)=2 对数组元素赋值 k=a(1)+a(2) 将数组元素相加再赋给变量k,a(0),a(1),a(2),a(3),a(4),a(5),7.1 数组的基本概念,7.1.2 数组的定义 例【7-2】定义一个二维数组及概念释义,Text,7.1 数组的基本概念,例【7-3】 用循环方式对数组赋值。,7.1 数组的基本概念,7.1.3 多维数组和数组下标界值 如果在数组中需要通过两个或两个以上的下标才能确定数组元素在数组中的位置称为多维数组。 两个下标称为二维数组,三个下
7、标称为三维数组等等。 定义方法: Dim 数组名(第一维下标下界 To 第一维下标上界,第二维下标下界 To 第二维下标上界,第三维下标下界 To 第三维下标上界,) As 类型名称 多维数组在内存中所占的空间大小为(所占空间长度应小于64KB): 维数1维数2 维数3 维数n 类型字节数(长度) 如:Dim x(4,3,2,5) As Integer 其所占内存长度=54362=720(字节),7.1 数组的基本概念,7.1.3 多维数组和数组下标界值 确定数组的上下界值的函数: LBound(数组名,维) 返回数组指定维的下界; UBound(数组名,维) 返回数组指定维的上界; 如:Di
8、m A(-3 to 4,1 to 2, 3 to 5, -1 to 6) as integer Lbound(a,1)=3 数组a的第一维下界为3; Ubound(a,3)=5 数组a的第3维上界为5; 如:Dim a(2,1,1) as integer 共有3个下标值,即a为三维数组,该数组共有322=12 个元素; 排列顺序如下: a(0,0,0) a(0,0,1) a(0,1,0) a(0,1,1) a(1,0,0) a(1,0,1) a(1,1,0) a(1,1,1) a(2,0,0) a(2,0,1) a(2,1,0) a(2,1,1),7.2 静态数组与动态数组,7.2.1 静态数
9、组及其定义 静态数组:在声明时就确定其大小的数组。静态数组是用数值常量或符号常量作为下标定维的。(静态数组是由关键字Static定义的数组) 静态数组在计算机内存中运行: 静态数组在编译阶段给数组分配内存空间,即静态数组没有运行时已有了相应的内存区间,故在定义静态数组时要求在编译阶段就知道该数组的元素个数。 静态数组元素的值在定义该数组的运行后,该数组所拥有的内存空间不释放,变量的值仍在内存中,再次运行时,将上次运行的结果作为该变量的初始值,只有当整个应用程序退出后,所占内存才会被释放。,7.2 静态数组与动态数组,7.2.1 静态数组及其定义 上述效果的数组定义方法: 在全局模块中使用Glo
10、bal语句定义; 在窗体或模块级用Dim定义; 静态定义:在过程中用Static语句定义;或用Static定义过程,而在过 程中使用Dim语句定义数组。 例7-4静态数组与非静态数组的对比,Static a(4) As Integer 定义静态数组a Static start As Integer 定义静态变量 Dim b(4) As Integer 定义非静态数组b Dim i As Integer If start = 0 Then Print 静态数组:, , 非静态数组: End If For i = 0 To 4 a(i) = a(i) + i 赋值给静态数组a b(i) = b(i
11、) + i 赋值给非静态数组b Next,For i = 0 To 4 Print a(i); Next Print , For i = 0 To 4 Print b(i); Next Print start = 1,7.2 静态数组与动态数组,7.2.2 动态数组及其定义 动态数组在定义时并不知道数组的大小,要在运行期确定,并根据需要在运行期可改变数组的大小。 动态数组的定义过程: 在窗体、标准模块和过程中用Dim或Public声明一个没有下标的数组 (括号不能省略); 如:dim a( ) as integer 数组重定义。在过程中需要使用该数组前,用Redim语句定义数组的 大小(数组元
12、素个数),下标可为常量、变量或表达式,但变量或 表达式此时必须有值。 如:Redim a(4),7.2 静态数组与动态数组,7.2.2 动态数组及其定义 动态数组定义格式: Dim 数组名( ) As 类型名 定义数组名 Redim Preserve 变量名 (下标) 重定义数组大小 在重定义时,按下标说明的上、下界重新分配内存存储单元。当重新定义 动态数组时,数组的内容将被清除; 若在Redim语句中使用了Preserve选项,则不清除数组中的内容,但使 用“Preserve”只能改变最后一维的大小, 前面几维的大小不能改变。,7.2 静态数组与动态数组,7.2.2 动态数组及其定义 使用动
13、态数组时应注意以下几点: 使用动态数组可重新定义数组的大小和维数,但不能改变数组的类型: Dim a( ) as integer Redim a(4) Redim a(3,2) Redim a(6) a(1)=“Visual Basic” 此句有错误,试图改变数组的类型 建立局部动态数组时,可省略Dim语句,由Redim语句直接定义数组。 使用Dim时,所定义数组的维数不超过8维,直接使用Redim定义数组, 维数可达到60维。 在同一过程中,可多次使用Redim语句定义同一个数组,以改变数组的 大小和维数;,7.3 数组的基本操作,7.3.1 数组元素的输入、输出和复制 1、数组元素的输入
14、对于数组元素较少的数组,可通过单个赋值语句进行输入操作; 对于数组元素较多的数组,一般通过For语句和InputBox函数输入。 Option Base 1 默认下标下界为1 dim b(2,3) as single for i=1 to 2 for i=1 to 3 b(i,j)=inputbox(“输入b(” , 以紧凑格式输出数组元素 Next Print Next,7.3 数组的基本操作,7.3.1 数组元素的输入、输出和复制 3、数组元素的复制 单个数组可以像简单变量一样,从一个数组复制到另一个数组。 Dim b(4,8),a(6,5) 数组定义 b(2,3)=a(3,2) 数组复制
15、,7.3 数组的基本操作,7.3.1 数组元素的输入、输出和复制 二维数组中的元素也可以复制给另一个二维数组中的某个元素,也可以复制给一个一维数组中的某个元素,并且反之亦然。 Dim a(8),b(3,2) a(3)=b(1,2): b(3,2)=a(7) 为了复制整个数组,仍要使用For循环语句。 option base 1 dim name1( ),name2( ) redim name1(10),name2(10) for i=1 to10 给name1的10个元素赋值 name1(i)=inputbox(“请输入姓名:”) next for i=1 to 10 利用For循环将name
16、1的数据复制给name2 name2(i)=name1(i) next,7.3 数组的基本操作,7.3.2 For EachNext语句 For EachNext语句专门针对一个数组或集中的每个元素执行重复语句。 一般格式: For Each 成员 In 数组 循环语句序列 Exit For 循环语句序列 Next 成员 其中: 成员:相当于一个循环变量,它表示数组中的每个元素; 数组:为一个数组名称; For Each Next语句主要用来对数组元素进行处理,包括查询、显示或读取。它执行的次数由数组元素的个数决定。 Dim a(1 to 5) For Each x In a print x,
17、 Next,7.3 数组的基本操作,7.3.2 For EachNext语句 例7-3_1 For Each Next使用实例,For i = 1 To 20 arr(i) = Int(Rnd * 100) 为数组赋值 Next 显示数组元素的值 For Each arr_elem In arr If arr_elem 50 Then Print arr_elem; Sum = Sum + arr_elem End If If arr_elem 95 Then Exit For Next Print Print Sum,7.3 数组的基本操作,7.3.3 数组的初始化 数组的初始化就是给数组元
18、素赋初值。 格式: 数组名Array(数组元素初始值) 说明: 初始值与相应数组元素一一对应,初始值相互之间用逗号隔开; 在初始化前对数组元素的定义不能是具体的数据类型,只能是 Variant型,或为默认类型; 对于该数组可以不定义而直接由Array函数来确定; 如:dArray(1,2,3,4) 此时数组d为variant类型,有4个元素,其初始值依次为1,2,3,4; 此种方法只能初始化一维数组;,7.3 数组的基本操作,7.3.3 数组的初始化 例7-3_2数组的初始化实例。,Dim n1 As String, n2 As String Dim i As Integer Number =
19、 Array(“One”, “Two”, “Three”) 数组初始化 n1 = Number(0) n2 = Number(1) x = Array(1, 2, 3) 数组初始化 For i = 0 To 2 Print x(i); Next Print Print n1; n2,7.4 控件数组,7.4.1 控件数组的概念 控件数组:是由一组相同类型的控件组成,这些控件据有一个相同的名称, 相同的属性名。 特点: (1)这些控件由控件数组的下标来区别,而下标由每个控件的唯一标 识索引号(Index)来标识,通过Index属性即可区别控件数组元素, Index从0 开始取值,如:控件数组Te
20、xt1(2)表示控件数组Text1的 第3个元素。 (2)同一个控件数组的所有元素,具有相同的Name属性值,但对于其他 属性则没有规定必须完全相同; (3)控件数组的所有元素,共享同样的事件过程,故控件数组适用于若 干个控件执行的操作相似的场合。 为区分触发某个事件是由哪个控件触发的,VB会把该控件的下标索引 值(Index)值传递给过程。,7.4 控件数组,7.4.1 控件数组的概念 如:设命令按钮控件数组名为Command,其单击事件过程为: Sub Command_Click(Index as Integer) End Sub 经过参数传递判断Index的值,便知道用户按下哪一个按钮,
21、也就知道可以对该按钮进行相应编程。 Sub Command_Click(Index as Integer) if index=4 then label1.caption=“第五个按钮被点击” end if End Sub,7.4 控件数组,7.4.2 控件数组的建立 方法: 在设计阶段建立,至此,建立了控件数组,其Index值根据粘贴的次序,自动从0开始赋值。,7.4 控件数组,7.4.2 控件数组的建立 方法: 在运行时添加控件数组,第一步,第二步,第三步,设计阶段于窗体上画出某个控件,设置Name属性(如comm),并将Index值设为0,在适当的事件中用 Load方法添加其他若干个控件数
22、组,对Comm(i)控件的 相应属性值进行修 改,其中: Load方法为:Load Comm(i) Comm为控件数组名,i为第i个控件数组元素的Index值,7.4 控件数组,7.4.2 控件数组的建立 例7-6 创建4个单选按钮(Option Button)作为一个控件数组,当选定某个按钮时,显示不同的圆形如圆形、方形、螺线和艺术图案。 解题思路:利用控件数组建立四个单选钮控件,并根据点击控件返回值确定绘画的图像。,7.4 控件数组,7.4.2 控件数组的建立 例7-7 创建1个命令按钮、一个图片框和一个单选按钮,每单击一次命令按钮,增加一个新的单选按钮,若单击某个单选按钮,则在图片框中画
23、出一个具有不同填充图案的画。,7.5 自定义数据类型,7.5.1 自定义数据类型的定义 自定义数据类型也称为记录类型,由若干个标准数据类型构成,通过Type语句实现。 形式如下: Type 自定义类型名称 元素名1(下标) As 类型名称 元素名2(下标) As 类型名称 元素名n(下标) As 类型名称 End Type 其中: 元素名:自定义数据类型中的一个成员; 下标:表示是数组 ; 类型名称:为标准类型;,7.5 自定义数据类型,7.5.1 自定义数据类型的定义 例如:一个有关学生信息的自定义数据类型 Type StdType 定义名为StdType的数据类型 No As Intege
24、r 学号 整型 Name As String *4 姓名 字符型 定长为4个字符 Sex As String *1 性别 字符型 定长为1个字符 Score (1 TO 4) As Single 成绩数组 单精度浮点数 Total As Single 总成绩 单精度浮点数 End Type 注意: 自定义数据类型一般在标准模块(.bas)中定义,默认是Public型; 若在窗体模块中定义,则必须是Private。 自定义数据类型中的元素类型可以是字符串,但应是定长字符串; 自定义数据类型和数组都是由若干个数据元素组成,但前者的元素 代表不同性质、不同类型的数据,以元素名表示不同的元素;而数 组
25、存放的是同种性质、同种类型的数据,以下标表示不同的元素。,7.5 自定义数据类型,7.5.2 自定义类型变量的声明和使用 1、自定义类型变量的声明 一旦定义好了类型,就可以在变量的声明时使用该变量。 形式: Dim 变量名 As 自定义类型 例如,有了上述定义的数据类型StdType,则可以说明如下变量: Dim Student As StdType,Mystd As StdType 要表示自定义类型变量中的某个元素,形式如下: 变量名.元素名 如:Student.No 表示Student变量中的学号 Student.Name 表示Student变量中的姓名 Student.Score(2)
26、表示Student变量中的第2门成绩 也可利用With语句进行简化,7.5 自定义数据类型,7.5.2 自定义类型变量的声明和使用 2、With语句 With语句的功能就是简化对自定义类型变量中元素的访问方式; 格式:,等价于,7.5 自定义数据类型,7.5.2 自定义类型变量的声明和使用 3、自定义类型变量的使用 With Student .No=2005 .Name=“吴仁迪” .Sex=“男” .Total=0 For i=1 to 4 .Score(i)=InputBox(“请输入”+.Name+”的第”+str(i)+”门课程成 绩”, ,0) .Total=.Total+Score
27、(i) Next print .Name,.Total End With Mystd=Student VB允许同种自定义类型变量直接赋值,7.5 自定义数据类型,7.5.3 自定义类型数组的应用 自定义类型数组就是数组中的每个元素都是相同的自定义类型。 如:Dim Std( 1 To 35) As StdType 定义了有35个元素的数组Std,该数组的每个元素又都是StdType类型。 例7-8利用自定义类型数组,编写模拟数据库记录输入、显示和查询的程序。自定义一个数据类型,由学号、姓名和三门课程成绩以及总分组成,声明一个存放40个学生记录的数组。,No Name Score(1) Scor
28、e(2) Score(3) Total,Stud(1),7.6 常用算法与数据结构二,7.6.1 分类统计 例7-9利用一维数组统计一个班学生的成绩在09、1019、2029、9099以及100各分数段的人数分布 解题思路:定义一个有11个元素的一维数组a( 0 to 10), a(0):09分的学生人数; a(1):1019分的学生人数; a(2):2029分的学生人数; a(9):9099分的学生人数; a(10):100分的学生人数; 根据学生成绩score,计算int(score/10),将其分类到相应的数组元素中。,7.6 常用算法与数据结构二,7.6.2 大量数据的输入和编辑 例7
29、-10输入一个45的二维整数数组,输出数组元素的平均值及该数组。 解题思路:给二维数据元素赋值、显示,一般需要使用用二层For循环,外层循环控制第一维数组元素,内层循环控制第二维数组元素。,Dim a(1 To 4, 1 To 5), i, j As Integer Dim average, sum As Integer sum = 0 For i = 1 To 4 For j = 1 To 5 a(i, j) = Val(InputBox(请输入a( Next Print Next,7.6 常用算法与数据结构二,7.6.3 寻找最大值/最小值 例7-11求数组中最大元素和所在下标及各元素之和
30、。 解题思路:首先将数组第一个元素的赋给max变量,而后从数组的第二个元素开始依次同max比较,并将大的值赋给max,最后,max的值为数组中最大的值。,Dim max As Integer, imax As Integer, sum As Integer Dim i As Integer Dim a(1 To 10) As Integer For i = 1 To 10 a(i) = Val(InputBox(请输入a( sum,7.6 常用算法与数据结构二,7.6.4 数组排序 排序就是将一组数按递增或递减的次序重新排列。 排序的方法:选择法、冒泡法、插入法和合并排序。 1、选择法排序 算
31、法描述: 设有n个数的数组a(1),a(2),a(n),要求按递增的次序排列: 首先设变量k用于存放当前最小数的下标,然后按下列步骤进行: 从n个数中选出最小元素的下标,然后将最小数与第一个数交换位 置,即a(k)与a(1)互换; 先将a(1)与a(2)进行比较,k的初值为1; 若a(2)a(k),则将变量k指向2(k总是为较小元素的下标值); 再将a(k) 与a(3)、a(n-1)、a(n)比较 ,并依次作出同样 的处理,最终k为n个数中最小元素的下标,a(k)为最小的元素; 此时将a(k)与a(1)互换;,7.6 常用算法与数据结构二,7.6.4 数组排序 1、选择法排序 从除第一个数外,
32、其余n1个数按步骤的方法选出次小的数,使a(k) 与a(2)交换位置; 先将k置为2,将a(k)与a(3)、a(4)、a(n-1)、a(n)比较,每当 a(i)a(k)时,置k为i,最后,k为第一轮余下的n1个数中的最小数 将a(k)与a(2)互换; 继续进行第三轮、第四轮、.、直到第n1轮,余下的a(n)就是n个数 中的最大值; 至此,n个数已从小到大顺序存放到数组a中。,7.6 常用算法与数据结构二,7.6.4 数组排序 1、选择法排序,8,1,9,7,6,1,A(1) A(2) A(3) A(4) A(5) A(6),原始值,第一轮(1),8,1,9,7,6,1,k=1,a(1)和a(2
33、) 相比较,8,7.6 常用算法与数据结构二,7.6.4 数组排序 1、选择法排序,A(1) A(2) A(3) A(4) A(5) A(6),第一轮(3),8,1,9,7,6,1,1,k=2, a(2)与 a(1)交换,7.6 常用算法与数据结构二,7.6.4 数组排序 1、选择法排序,A(1) A(2) A(3) A(4) A(5) A(6),第二轮(1),8,1,9,7,6,1,8,k=2,a(2)和a(3)相比较,7.6 常用算法与数据结构二,7.6.4 数组排序 1、选择法排序,A(1) A(2) A(3) A(4) A(5) A(6),第二轮(4),8,1,9,7,6,1,6,a(
34、6)a(5),k=6, a(6)和a(2)交换,7.6 常用算法与数据结构二,7.6.4 数组排序 1、选择法排序,A(1) A(2) A(3) A(4) A(5) A(6),第三轮(1),8,1,9,7,6,1,9,k=3,a(3)和a(4)比较,a(4)a(3), k=4,用a(4)和a(5)比较,7.6 常用算法与数据结构二,7.6.4 数组排序 1、选择法排序,A(1) A(2) A(3) A(4) A(5) A(6),第四轮(1),8,1,9,7,6,1,7,K=4,a(4)和a(5)比较 本轮无交换,7.6 常用算法与数据结构二,7.6.4 数组排序 1、选择法排序,A(1) A(
35、2) A(3) A(4) A(5) A(6),第五轮(1),8,1,9,7,6,1,9,K=5,a(5)和a(6)比较,交换a(6)和a(5),7.6 常用算法与数据结构二,7.6.4 数组排序 1、选择法排序,例7-12将数组中的6个数,用选择法递增顺序排列。,Dim a(6) As Integer Dim k, n, i, j, t As Integer Randomize n = 6 给数组6个元素赋值,09中的随机整数 For i = 1 To n a(i) = Int(Rnd * 9) + 1 Label2.Caption = Label2.Caption + Str(a(i) Ne
36、xt 选择排序法 For i = 1 To n - 1 k = i For j = i + 1 To n If a(k) a(j) Then k = j 找出最小值的下标 Next 交换数组元素,使最小的元素排在第一位 t = a(k): a(k) = a(i): a(i) = t 将排序结果显示在Label上 Label4.Caption = Label4.Caption + Str(a(i) Next Label4.Caption = Label4.Caption + Str(a(i),7.6 常用算法与数据结构二,7.6.4 数组排序 2、冒泡法排序 冒泡法在每一轮排序时将相邻的数比较,
37、当次序不对就交换位置。 冒泡法若有n个元素,则需要比较n-1轮。 比较方向:可从右向左,也可以从左向右;而且每一轮都是从头比较到尾。,7.6 常用算法与数据结构二,7.6.4 数组排序 2、冒泡法排序,8,1,9,7,6,1,A(1) A(2) A(3) A(4) A(5) A(6),原始值,第一轮(1),1,9,7,6,1,A(5)a(6) 交换a(6)和a(5),8,7.6 常用算法与数据结构二,7.6.4 数组排序 2、冒泡法排序,A(1) A(2) A(3) A(4) A(5) A(6),第一轮(3),1,9,7,6,1,8,A(3)a(4) 交换a(3)和a(4),7.6 常用算法与
38、数据结构二,7.6.4 数组排序 2、冒泡法排序,A(1) A(2) A(3) A(4) A(5) A(6),第一轮结果,8,9,7,6,1,1,7.6 常用算法与数据结构二,7.6.4 数组排序 2、冒泡法排序,A(1) A(2) A(3) A(4) A(5) A(6),第二轮(1),1,9,7,6,1,8,A(5)a(6) 交换a(6)和a(5),7.6 常用算法与数据结构二,7.6.4 数组排序 2、冒泡法排序,A(1) A(2) A(3) A(4) A(5) A(6),第二轮(4),8,9,7,6,1,1,1,9,7,6,1,8,第二轮结果,A(2)a(3) 交换a(2)和a(3),7
39、.6 常用算法与数据结构二,7.6.4 数组排序 2、冒泡法排序,A(1) A(2) A(3) A(4) A(5) A(6),第三轮(1),1,9,7,6,1,8,A(5)a(6) 交换a(5)和a(6),7.6 常用算法与数据结构二,7.6.4 数组排序 2、冒泡法排序,A(1) A(2) A(3) A(4) A(5) A(6),第三轮结果,8,9,7,6,1,1,第三轮(3),1,9,7,6,1,8,A(3)a(4) 交换a(3)和a(4),7.6 常用算法与数据结构二,7.6.4 数组排序 2、冒泡法排序,A(1) A(2) A(3) A(4) A(5) A(6),第四轮(1),1,9,
40、7,6,1,8,A(5)a(6) 不交换,7.6 常用算法与数据结构二,7.6.4 数组排序 2、冒泡法排序,A(1) A(2) A(3) A(4) A(5) A(6),第五轮(1),1,9,7,6,1,8,7.6 常用算法与数据结构二,7.6.4 数组排序 2、冒泡法排序,例7-13将数组中的6个数,用冒泡排序法排序。,Dim a(6) As Integer Dim k, n, i, j, t As Integer Randomize n = 6 给数组6个元素赋值,09中的随机整数 For i = 1 To n a(i) = Int(Rnd * 9) + 1 Label3.Caption = Label3.Cap
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年成人高考英语(二)专升本考试真题单套试卷
- 2026年成人高考计算机信息管理专业考试模拟试卷
- PLC控制变频器的应用探析
- 2026年成人高考法学专业本科模拟单套试卷
- 2026年11月医学检验技术(士)考试真题单套试卷
- 证券从业考试试题及答案
- 招标师历年真题及答案
- 2025-2026学年人教版七年级数学上册有理数应用题专项卷(含答案解析)
- 2026年农村创业项目策划考试题库及答案
- 主题实践活动策划方案(3篇)
- 装饰装修工程验收资料表格
- 课本剧《刘姥姥进大观园》剧本
- 长春版小学一年级语文上册写字表虚宫格写法教学提纲教学课件
- 湖南国际会展中心项目屋盖张弦梁施工技术交流
- 【教案】伴性遗传第1课时教学设计2022-2023学年高一下学期生物人教版必修2
- DL-T 807-2019 火力发电厂水处理用 201×7 强碱性阴离子交换树脂报废技术导则
- 简化的WHOQOL表WHOQOL-BREF-生活质量量表
- 语言学纲要(新)课件
- 经济责任审计的程序与方法
- 打靶归来 课件
- 施工升降机安装及拆除专项施工方案
评论
0/150
提交评论