数组2Word文档下载推荐.docx
- 文档编号:15954825
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:5
- 大小:15.93KB
数组2Word文档下载推荐.docx
《数组2Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数组2Word文档下载推荐.docx(5页珍藏版)》请在冰豆网上搜索。
Fori=NTo1Step-1
Printx(i);
EndSub
引入数组的原因:
数据量增大
一、数组的定义(一维数组)
[格式]
Dim数组名(下界To上界)As类型名
[说明]
(1)下界、上界必须是数值型常量(最好是整型),下界<
=上界,数组元素的个数=上界-下界+1。
(2)下界(To)可以省略,默认为0;
(3)可以在“通用声明段”写上
OptionBase1
使得下界为1。
(4)OptionBase后只可以是0或1。
但是当显式定义的下界与0或1冲突时,以显式定义的为准。
(5)数组元素
例如:
Dimx(1to5)AsInteger
则数组x含有5个元素:
X
(1),x
(2),x(3),x(4),x(5)
每个数组元素与同类型的普通变量使用要领完全相同。
二、数组的基本操作
1、数组元素获得值(循环)
(1)获得有规律的值
用循环语句(For),和赋值语句完成
'
10个元素2、4、6……
Dimx(10)AsInteger
Dimi%
Fori=1To10
x(i)=2*i
Printx(i)
(2)获得无规律的值
用循环语句(For),和输入语句(Inputbox、文本)完成
2、输出及其他处理也用循环完成(通常下标兼做循环控制变量)
三、重要算法
1.求最值
例:
任意读入10个字符,输出其中最大的字符及其输入的顺次(即第几个被读入的)。
[
[算法要领:
首先假设第一个或最后一个元素最大(或最小),然后让其余每个元素与之比较。
]
Dimx(10)AsString*1
Dimi%,maxAsString*1,n%
输入字符"
max=x
(1):
n=1
'
通常假设第一个或最后一个元素最大
其余每个元素跟max比
Fori=2To10
Ifx(i)>
maxThenmax=x(i):
n=i
Printmax,n
2.查找
(1)顺序查找(线性查找)
[将查找关键值与每一个元素进行比对,一旦相等就终止;
比较到最后一个元素后还是不等,则找不到!
任意生成10个数(介于10~99之间的整数),查看其中是否有50这个数值。
[法一]For循环
ConstN%=10
Dimx(N)AsInteger,i%
Randomize
x(i)=Int(Rnd*(99-10+1)+10)
以下进行查找
Ifx(i)=50Then
ExitFor
EndIf
Ifi<
=NThen'
或x(i)=50
Print"
有"
Else
无"
[法二]DoWhile循环
i=1
DoWhilex(i)<
>
50
i=i+1
Ifi>
10ThenExitDo
Loop
[注意:
VB的数组下标不允许越界!
(2)折半查找(二分法查找)
[前提:
数组中的元素必须有序。
设原数组下界为low,上界为high,求出(low+high)/2存放到mid中,拿a(mid)与查找关键字x比对,若数组升序且a(mid)<
x,修改high=mid-1;
否则若a(mid)>
x,修改low=mid+1……一旦有a(mid)=x终止,即找到了;
或low>
high则找不到!
任意读入一个数,在某有序数组中查找是否有该数。
Dima'
变体型变量
Dimlow%,high%,mid%
a=Array(2,13,25,36,78)
x=InputBox("
任意读入一数"
以下折半查找
low=LBound(a)'
求数组下界
high=UBound(a)'
求数组上界
mid=(low+high)/2
DoWhilea(mid)<
xAndlow<
=high
Ifx<
a(mid)Then
high=mid-1
low=mid+1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数组