内容正文:
查找算法
2
查找是一种查询数据的技术,其目标是能以比较少的步聚和较短的时间找到所需的对象
顺序查找的基本思想
是从第一个数据开始,按数据的顺序逐个将数据与给定的值进行比较。若某个数据和给定的值相等,则查找成功,找到所查数据的位置;反之,查找不成功。
查找算法
3
顺序查找
27
36
32
18
d (1)
d (2)
d (3)
d (4)
输入查找的元素值key=32
i=1
i=2
i=3
此时d(i)=key,数组中的第3个位置
如果输入查找的元素值key=22
i=1
i=2
i=3
i=4
i=5
27
36
32
18
d (1)
d (2)
d (3)
d (4)
此时i等于5,超过数组中元素个数,找不到
从数组d的第1个元素d(1)开始,依次判断各元素的值是否与查找键key的值相等。
4
顺序查找的流程图
开始
i←1
d(i)=key?
i<=n?
i←i+1
结束
Y
N
Y
N
未找到
找到,输出结果:i
输入key
在8个元素中顺序查找key
5
转化成程序
Private Sub Command1_Click() '顺序查找
Key = Val(Text2.Text)
For i = 1 To ___
If ___________ Then
s=s+ str(i)
End If
Next i
If __________ Then
Label1.Caption = "在数组中没有找到" + Str(Key) + "。"
End If
End Sub
i = 9
d(i) = Key
8
6
在某学校里,每位同学都会得到一张校园卡,校园卡的卡号是唯一的,卡内会记录每位同学的姓名、住址、班级、金额等信息。每当同学刷卡时,卡号就被输入电脑,然后进行查找,如果找到就显示姓名,否则显示"查无此人"。下列程序的功能是根据卡号查找对应的姓名,程序中数组a保存所有已发放校园卡的卡号,数组b保存卡号对应的姓名,第i位同学的卡号保存在a(i)中,姓名保存在b(i)中。左边列表框列出所有同学的卡号和姓名,在右边文本框txtInput中输入卡号,单击“开始查询”按钮(Command1),程序就按卡号进行查找,如果找到就在标签lblOutput中输出卡号对应同学的姓名,否则就输