第三章 第三节 在数组中查找数据

减小字体 增大字体 作者:教育文稿  来源:教育文稿  发布时间:2009-07-21 20:55:42

一组相同类型的变量集合,集合中的每个元素都是独立的变量,它们能够通过数组序号被引用。

  mark(1 to 100)表示一个包含100个数组元素的名为mark

  (2)数组元素(数组中的变量,用下标表示) 表示方法:数组名(P1P2,……)

  P1P2……是“下标”,表示元素在数组中的排列位置。

  (3)数组维数:(由数组元素中下标的个数决定)一个下标表示一维数组

  VB中有一维数组、二维数组、……,最多有60维数组

  (4)下标(表示顺序号)

  ①每个数组有一个唯一的顺序号;

  ②下标不能超过数组声明时的上、下界范围;

  ③下标可以是整型的常量、变量、表达式及一个数元素;

  ④取值范围:下界to 上界,缺省下界,默认为0。下界最小为-32768,上界最大为32767

  练习:判断下列数组的取值范围:A10),B(-3 to 5

  (5)数组声明(先声明后使用)

  声明数组——让系统在内存中分配一个连续的区域,用来存储数组元素。

  声明内容:数组名、类型、维数、数组大小

二、静态数组

  ⑴一维数组

  形式:Dim 数组名(下标) [AS类型]

  ①数组声明时的下标必须为常数,不可以是表达式或变量。

  ②一维数组的大小:上界-下界+1

  例:Dim A(12) as integer

  声明A是数组名、整型、一维数组、有13个元素、下标的范围是0~12

  练习:说明“Dim A(-3 to 6) as String * 3 ”包含的内容。

  ⑵多维数组

  格式:Dim 数组名(下标1[,下标2……] [AS 类型]

  每一维的大小=上界-下界+1 数组大小=每一维大小的乘积

  例:Dim C(-1 to 5,3) As Long

  声明C是数组名、长整型、二维数组,第一维下标范围为-1~5,第二维下标范围为0~3,占据7×4个长整型变量的空间。

  练习:

  (1)多维数组中下标最少有 维数组,最多有 维数组。

  (2)求该数组Dim A(5,-3 to 3)的数组大小

  (3)试说明“Dim A(5,-2 to 3,4to 8) As Single

  结论

  $在VB的窗体层或标准模块层用Option Base n语句可重新设定数组的下界,如:Option Base1。如果使用该语句,必须写在模块的所有过程之前;一个模块中只能出现一次Option Base,且必须位于带维数的数组声明之前。

  $在数组声明中的下标关系到每一维的大小,是数组说明符,而在程序其他地方出现的下标为数组元素。

  

  三、动态数组

  利用DimPrivatePublic语句声明括号内为空的数组,然后用ReDim语句指明该数组的大小。

  ReDim 数组名(下标1[,下标2……] [AS 类型]

  ⑴下标可以是常量、有了确定值的变量。

  ⑵要改变数组的维数,可在过程中多次使用ReDim来改变数组的大小。

  ⑶每次使用ReDim语句都会使原来数给中的值丢失,可以在ReDim语句后加工厂Preserve参数来保留数组中的数据,但Preserve只能改变最后一维的大小,前面几维大小不能改变。

  四、数组的基本操作

⑵数组的输入

  用InputBox函数实现

  Dim SB(3,4) AS Single

   For i=0 to 3

   For j=0 to 4

  SB(i,j)=InputBox(“输入” & I & j “的值”)

  Next j

  Next i

  ⑶数组的赋值

  ①赋值号两边的类型必须一致。

  ②若赋值号左边是一个动态数组,则赋值时,自动将ReDim赋给右边相同大小的数组。

  ③若赋值号左边是一个大小固定的数组,赋值有误。

  实践题:

  1DNA中的碱基有AGTT共四种,如何用数组表示这四个元素?

  2.有一组元素包括大、小写字母及空格共53个,用数组方法表示。

  3.数据类型有________ _____________________________________________ 、 。

第二节 顺序查找

  一、顺序查找

  1.基本思想:进行查找时,一般从数据的第一个元素开始,按照数据的顺序查找指定的关键值;如果被查数据和该关键值相匹配,则表示找到;否则,则表示被查数据中不存在该关键值,查找失败。

  2.平均查找长度

  ASLsq= (n-i+1)=np1+(n-1)p2+……+2pn-1+pn

  

  在等概率情况下,pi=1/n(1In),故成功的平均查找长度为(n++2+1=n+1/2

  若K值不在表中,则须进行n=1比较之后才能确定查找失败。

  ASLsq达到最小值的情况:qnqn-1≥……≥q2q1

  3. 优点:算法简单,对表的结构无任何要求。

缺点:查找效率低,当n 较大时不宜采用查找。

实践题:

  1.凯撒密码的原理是将“明文”中的每个字母用另外一个字母替换,这样就形成“密文”。已知凯撒密码的计算公式为F(a)=(a+k) mod nk=3,n=26,如果将英文字母进行加密,其对应关系如下所示:

  明文:A B C D……X Y Z

  密文:D E F G……A B C

  2.编写课本第54页的实践第2题(“明日之星”计分界面)

上一页  [1] [2] 

Tags:

作者:教育文稿
  • 好的评价 如果您觉得此文章好,就请您
      0%(0)
  • 差的评价 如果您觉得此文章差,就请您
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论