[人力资源管理]chap7-数组

上传人:油条 文档编号:49543626 上传时间:2018-07-30 格式:PPT 页数:68 大小:538KB
返回 下载 相关 举报
[人力资源管理]chap7-数组_第1页
第1页 / 共68页
[人力资源管理]chap7-数组_第2页
第2页 / 共68页
[人力资源管理]chap7-数组_第3页
第3页 / 共68页
[人力资源管理]chap7-数组_第4页
第4页 / 共68页
[人力资源管理]chap7-数组_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《[人力资源管理]chap7-数组》由会员分享,可在线阅读,更多相关《[人力资源管理]chap7-数组(68页珍藏版)》请在金锄头文库上搜索。

1、第七章 数组问题:求a,b,c三个数中的最大数。 算法: M=a If bm then m=b If cm then m=c Text1.text=m 思考:若求10个数的最大数呢?数组的基本概念定义: 一组性质相同的有序的数 例: 输入全班40名同学的英语成绩,是否需 要定义40个变量?不需要定义40个变量,只需定义一个数组 ,数组中共40个元素。B(1) B(2) B(3) B(40)7.1 一维静态数组Dim (To)AsDim a(5 To 15) As Integer5是下界,15是上 界,下界小于等于 上界数组元素的数据类型,当As 缺省时,表示可变类型与上面声明等价的形式: Di

2、m a%(5 to 15) VB数组必须先定义,后使用。7.1.1 一维静态数组的定义例: Dim B(0 To 3) As String字符串类型数组下界0,上界 3元素 B(0) B(1) B(2) B(3)与上面声明等价的形式: Dim B(3) As String下界可省 略,默认下 界为0说明:1、下界和上界必须是整数常量或整数常量表达式 ,一定不能是变量。2、若及To不写,使用默认下界0,可 以通过Option Base语句更改默认下界为1,格式 为:Option Base0/13、系统在编译时建立静态数组,且分配固定的存 储空间给数组。4、数组在定义后自动被初始化: 将数值型数组

3、元素值置为0 将字符串型数组元素值置为空字符串 将可变类型数组元素值置为Empty 5、程序运行时期,可使用Erase语句重新初始化 格式: Erase例: Dim A(-4 TO 10) As Integer一维整型数值数组下界 -4,上界 10元素 A(-4) A(-3) . A(0) A(1) . A(10)计算一维数组元素个数:上界-下界+1判断下列数组声明是否正确,如果正 确试说出其有几个元素。(1)Dim mark(1 to 100) As Integer(2)Dim m(-10 to -20) As Integer(3)Dim k(-1) As String(4)Dim n As

4、 IntegerDim c(2 to n) As Interger正确,共100个元素错误,下界大于上界错误,下界大于上界错误,上界n是一个变量引用形式:() 如:Dim a(10),则在数组a中包含11个元素a(0) 、a(1)、a(2) a(9)、a(10)注意:引用数组元素时下标不能越界。7.1.2 一维数组元素的引用Dim a(10) As IntegerFor i=1 to 10 step 1a(i)= InputBox(“输入第” Next IEnd Sub Private Sub Command2_Click()N = 8ReDim A(N, N) For I = 0 To NF

5、or J = 0 To NA(I, J) = 2: Print A(I, J);Next JPrintNext IEnd Sub保留动态数组的内容格式: ReDim Preserve ()Dim A() As Integer Private Sub Command1_Click()N = 4ReDim A(N)For I = 0 To NA(I) = 1Next IN = 8ReDim Preserve A(N) For I = 0 To NPrint A(I);Next IEnd Sub方法二:用rray函数建立可变类型的一维 动态数组并赋值。=Array(,) Dim A()A = Arr

6、ay(1,2,3,4,5,6,7,8,9,10)Redim a(9)For i=0 to 9a(i)=i+1Next方法三:通过数组对数组的直接赋值建立动态数组格式:= 例:Dim a(),b()A=array(1,2,3,4,5,6)B=a 说明: 1、赋值号左右两边的数组必须具有相同类型。 2、右边的数组可以是静态数组也可以是已建立的 动态数组。1. 个别元素的赋值 例: Dim A(5),B(1 To 5,1 To 5)A(1)=B(1,1) :A(2)=B(2,2)A(3)=B(3,3) :A(4)=B(4,4)A(5)=B(5,5)2. 整个数组的赋值: 用循环 例: Dim A(1

7、0), B(10)For I = 1 To 10B(I) = A(I)Next I本章小结1. 数组的基本概念数组名、数组元素、下标、数组的维数2. 静态数组的定义 Dim ()As 3. 动态数组的定义 (1) Dim ()As (2) ReDim () As 静态数组 动态 数组声明声明语句既声明又建 立了数组Dim ( To , , To ) As 声明告诉编译 系统数组 名和类型Dim()As建立运行时建立数组,分配空 间,有多种方法建立它 、用edim语句重新声明动 态数组并建立它 、用rray函数建立可变类 型的一维动态 数组并赋值 、通过数组对 数组的直接 赋值 建立动态 数组4

8、. 数组的使用 (1) 数组在定义后被初始化 (2) Erase 固定大小数组使用该语句进行初始化 动态数组使用该语句释放存储空间 (3) 数组元素的输入: 赋值、InputBox、Array函数 (4) 数组元素的输出: Print、Label、TextBox等 (5) 保留动态数组中的内容:ReDim Preserve () 5. 控件数组 (1) 控件数组的表示: () (2) 控件数组的建立a. 将多个控件取相同的名称b. 复制、粘贴现有的控件c. 给控件设置一个Index属性值 (3) 控件数组的使用同一个控件数组的所有控件共享同一事 件过程。 注意使用该过程返回的参数Index。作

9、 业课后习题P153 第1,2题动态数组的应用数组的删除、插入操作【例1】删除数组中指定位置的元素,显示删除结果 分析: 删除数组A中指定的位置P的元素,可将P位 置元素之后的所有元素依次向前移动一位pA(P)=A(P+1) A(P+1)=A(P+2) A(N-1)=A(N)一、删除某位置上的数 P后面的数必须依次往前移一个位置: For i=p To N-1A(i)=A(i+1) Next此时数组元素个数减少一个,重新定义数组, 释放多余的内存空间: N=n-1 ReDim Preserve A(N) Option Base 1 Dim N As Integer, A() As Intege

10、r Private Sub Form_Load()Text1.Text = “N = 20ReDim A(N)For i = 1 To NA(i) = Int(Rnd * 101)Text1.Text = Text1.Text & A(i) &” ”Next I End SubPrivate Sub Command1_Click()P = Val(Text2.Text)For i = P To N - 1A(i) = A(i + 1)Next IN = N - 1ReDim Preserve A(N) Text3.Text = “For i= 1 To NText3.Text = Text3.

11、Text & A(i) &” ”Next i End Sub二、删除某个数,位置不知先将位置P找出来,然后将P后面的数往前移。 For i=1 to n if x=a(i) then p=i Next【例2】将数x插在数组A中指定的位置P。如果P0,则将x插在第1个位置如果PN,则将x插在最后一个位置三、在位置P插入数xa.先将数组的大小加1:N=N+1 ReDim Preserve A(N) b.将P后面的数依次往后移一个位置,以便腾出P位置 :For i=N to P+1 step 1A(i)=A(i-1)Next c.在P位置插入该数:A(P)=xpx在窗体的Load事件过程中生成20个

12、0到100之间的随 机整数,显示于文本框Text1中: Private Sub Form_Load()Text1.Text = “N = 20ReDim A(N)For i = 1 To NA(i) = Int(Rnd * 101)Text1.Text = Text1.Text & A(i)&” ”Next I End Sub在“通用”位置声明: Option Base 1 Dim N As Integer, A() As IntegerPrivate Sub Command1_Click() 插入Text4.Text = “x = Val(Text2.Text) P = Val(Text3.

13、Text)N = N + 1 ReDim Preserve A(N)For i = N To P + 1 Step -1A(i) = A(i - 1)Next iA(P) = xFor i = 1 To NText4.Text = Text4.Text & A(i) & “ ”Next i End Sub四、在已排序的数组中插入某数a.不知道位置P,先求出P:For I=1 to nIf xa(i) then Exit ForNextP=I b. N=N+1 ReDim Preserve A(N) c. 将P后面的数依次往后移一个位置,腾出P位置:For I=N to P+1 step 1A(I)=A(i-1)Next d.P位置插入该数:A(P)=x

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号