顺序查找算法及程序实现

上传人:博****1 文档编号:570018913 上传时间:2024-08-01 格式:PPT 页数:11 大小:481.51KB
返回 下载 相关 举报
顺序查找算法及程序实现_第1页
第1页 / 共11页
顺序查找算法及程序实现_第2页
第2页 / 共11页
顺序查找算法及程序实现_第3页
第3页 / 共11页
顺序查找算法及程序实现_第4页
第4页 / 共11页
顺序查找算法及程序实现_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《顺序查找算法及程序实现》由会员分享,可在线阅读,更多相关《顺序查找算法及程序实现(11页珍藏版)》请在金锄头文库上搜索。

1、查找算法之算法实现查找查找是一种查询数据的技术,其目标是能以比较少是一种查询数据的技术,其目标是能以比较少的步聚和较短的时间找到所需的对象的步聚和较短的时间找到所需的对象顺序查找顺序查找的基本思想的基本思想是从第一个数据开始,按数据的顺序逐个是从第一个数据开始,按数据的顺序逐个将数据与给定的值进行比较。若某个数据和给将数据与给定的值进行比较。若某个数据和给定的值相等,则查找成功,找到所查数据的位定的值相等,则查找成功,找到所查数据的位置;反之,查找不成功。置;反之,查找不成功。查找算法顺序查找27363218d (1) d (2) d (3) d (4) 输入查找的元素值输入查找的元素值key

2、=32i=1i=2i=3此时此时d(i)=key,数组中的第数组中的第3个位置个位置如果输入查找的元素值如果输入查找的元素值key=22i=1i=2i=3i=4i=527363218d (1) d (2) d (3) d (4) 此时此时i等于等于5,超过数组中元素个数超过数组中元素个数,找不到找不到从数组从数组d的第的第1个元素个元素d(1)开始,依次判断各元素的开始,依次判断各元素的值是否与查找键值是否与查找键key的值相的值相等。等。顺序查找的流程图顺序查找的流程图开始开始i 1d(i)=key?i=n?ii+1未找到,输出结果:未找到,输出结果:0找到,输出结果:找到,输出结果:i结束

3、结束YNYN例题:顺序查找例题:顺序查找1、首先在通用声明事件里定义数组d变量为全局变量。 Dim d(1 To 10) As Integer Dim i, key As Integer2、程序一运行,生成10个3位整数,显示在标签1中。Private Sub Form_Load()Label1.Caption = RandomizeFor i = 1 To 10d(i) = Int(Rnd * 101 + 100)Label1.Caption = Label1.Caption & d(i) & Next iEnd Sub3、在文本框、在文本框1中输入要找的数,单击中输入要找的数,单击“顺序查

4、找顺序查找”按钮,在文本框按钮,在文本框2中显示找到的结果。中显示找到的结果。Private Sub Command1_Click()key = Val(Text1.Text)num = 10For i = 1 To num If d(i) = key Then Text2.Text = “在数组的 ” + Str(i) + 位置中 Exit For End IfNext iIf i = num + 1 Then Text2.Text = “在数组中没有找到 + Str(key)End IfEnd Sub11.某学校把每个学生的姓名和家某学校把每个学生的姓名和家长联系系电话保存到保存到计算机中

5、,算机中,以便遇到以便遇到紧急情况急情况时可以及可以及时通知学生家通知学生家长。每个学生的姓。每个学生的姓名和家名和家长联系系电话已已经保存在数保存在数组xm和和phone(都都为字符串字符串类型型)中。中。现在要在要设计一个根据一个根据输入的学生姓名入的学生姓名查询该学生家学生家长的的联系系电话的程序。程序运行的程序。程序运行时的界面如下的界面如下图所示:所示:完善程序:下列程序运行完善程序:下列程序运行时,在在Text1中中输入学生姓名,入学生姓名,单击“查询家家长电话”按按钮Command1后,在后,在标签Label2中中显示示对应的学生家的学生家长电话,若找不到若找不到则显示示“未找到

6、未找到该学学生生”。程序代。程序代码如下:如下:Dimxm(1To1000)AsStringDimphone(1To1000)AsStringDimnasintegern1000PrivateSubCommand1_Click()DimxAsStringDimfindAsBooleanDimiAsIntegerxText1.Texti0findFalseDoWhile(in)AndfindFalseIfThenfindTrueLoopIffindTrueThenLabel2.Caption“该学生家学生家长联系系电话为:”phone(i)ElseLabel2.Caption“未找到未找到该学生

7、学生”EndIfEndSubPrivateSubForm_Load()学生姓名及家学生姓名及家长电话数数组赋初初值语句,忽略句,忽略EndSub请阅读代代码并并问答下列答下列问题。(1)解决此解决此问题的算法是的算法是_。在程序在程序和和划划线处填入适当的填入适当的语句或表达式,将程句或表达式,将程序序补充完整:充完整:(2)程序中程序中划划线处应填入填入_。(3)程序中程序中划划线处应填入填入_。注:注:该示例程序在素材文件示例程序在素材文件夹下下vb33文件文件夹中。中。顺序序查找算法找算法i=i+1x=xm(i)比较n顺序查找是一种基本、简单的查找算法,但查找的效率往往过低;n对分查找时每次都把查找范围缩小一半n对分查找算法数据次数较少,效率较高,但它要求数组中的数据是有序的。顺序查找与对分查找比较是否需要事先排序平均查找次数顺序查找不需要(n+1)/2多对分查找需要Log2n少

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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