CHAPTER5-数组.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CHAPTER5-数组

第五章 数组 主要内容 数组的概念 静态数组及声明 数组的基本操作 常用算法 常见错误 一、数组的概念 一、数组的概念 说明:数组不是一种数据类型,而是一组相同类型的变量的集合,数组必须先声明后使用。 分类:静态(定长)数组、动态(可变长)数组 二、静态数组及声明 1. 静态数组及声明 形式: Dim 数组名(下标1[,下标2…]) [As 类型] 声明了数组的名、维数、大小、类型 维数:几个下标为几维数组,最多60维。 下标:[下界 To ] 上界 省略下界为0 ,必须为常数。 每一维大小:上界-下界+1 数组大小: 每一维大小的乘积 例:Dim mark(1 to 100) As Integer 注意: (1)数组名的命名规则与变量名相同,在命名时应尽可能有一定的含义,做到“见名知义”。 (2)在同一个过程中,数组名不能与变量名同名。 (3)下界缺省为0,也可在重新定义数组的下界。例如: Option Base n ‘n为数组下标的下届,只能是0或1 (4)错误的声明:下标是变量 n =Inputbox(输入n ):Dim x(n) As Single (5)在数组声明中的下标说明了数组的整体,即每维的大小;而在程序其他地方出现的下标表示数组中的一个元素。两者写法形式相同,但意义不同。 例如:Dim x(10) As Integer 声明了x数组有11个元素 x(10)=100 对x(10)这个数组元素赋值 (2)用Array Dim b As Variant b = Array(abc, def, 67) For i = 0 To UBound(b) Print b(i); ; Next i 2. 二维数组元素的赋初值 例如: dim a(3,4) as integer for i=0 to 3 for j=0 to 4 a(i,j)=0 next j next i 选择法排序(算法过程代码) For i = 1 To n - 1 min= i For j = i+1 To n If a(j) a(min) Then min = j Next j t= a(i) a(i) = a(min) a(min) = t Next I 四、常用算法 2.冒泡法排序 第二趟比较过程: 四、常用算法 2.冒泡法排序(算法过程代码) For i = 1 To n-1 进行n-1轮比较 For j = 1 To n-i ‘对n-i个元素进行两两比较 If a(j)a(j+1) Then 若次序不对,则马上进行交换位置 t = a(j) : a(j) = a(i) : a(i) = t End If Next j ‘ 出了内循环,一轮排序结束,最大数已沉到最下面 Next i 3.数组元素的插入(代码) Dim a(1 to 10) as integer k=val(inputbox(“请输入待插入的数”)) For i=9 to 6 step -1 a(i+1)=a(i) Next i a(6)=k 4.数组元素的删除 计算机教研室 1.引例 例:若我们要求一个班100个学生的平均成绩,然后统计高于平均分的人数。 aver = 0 For i = 1 To 100 mark = InputBox(输入 + i + 位学生的成绩) aver = aver + mark Next i aver = aver / 100 问题:若要统计高于平均分的人数,则无法实现。因为,mark是一个简单变量,存放的是最后一个学生的成绩。解决此问题的根本方法:引入数组,始终保持输入的数据,一次输入,多次使用。 Dim lArray( 0 To 3, 0 To 4) As Long 共有 4×5个元素 等价于: Dim lArray(3, 4) As Long 二、静态数组及声明 二、静态数组及声明 1. 一维数组元素的赋初值 (1)用循环 dim a(1 to 10) as integer For i = 1 To 10 a(i)=0 Next i

文档评论(0)

cgtk187 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档