36顺序查找算法及程序实现课件_第1页
36顺序查找算法及程序实现课件_第2页
36顺序查找算法及程序实现课件_第3页
36顺序查找算法及程序实现课件_第4页
36顺序查找算法及程序实现课件_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、36 顺序查找算法及程序实现1查找查找是一种查询数据的技术,其目标是能以比较少的步骤或较短时间内找到所需的对象。程序将按照查找的结果(找到或未找到)来决定接着应执行的步骤。查找的方法很多,对不同的数据结构有不同的查找方法。参加选考的同学,只需要掌握顺序查找和对分查找两种方法。2顺序查找算法顺序查找的基本思想是从第一个数据开始,按顺序逐个将数据与给定的数据(查找键)进行比较,若某个数据和查找键相等,则查找成功,输出所查数据的位置;反之,输出未找到。36 顺序查找算法及程序实现1查找顺序查找算法的处理过程假定在数组d中有n个数据,查找键已经存储在变量key中。其处理过程是:从数组d的第1个元素d(

2、1)开始,依次判断各元素的值是否与查找键key相等,若某个数组元素d(i)的值等于key,则结束处理(找到了指定的数据);若找遍了所有的n个元素,无任何元素的值等于key,则结束处理(输出未找到信息)。顺序查找算法的处理过程顺序查找算法流程图顺序查找算法流程图3顺序查找算法的程序结构程序实现代码: k0 For i1 To n If a(i)key Then ki Next i If k0 Then 输出查找成功 Else 输出查找不成功 End If 3顺序查找算法的程序结构程序实现代码:本节的学习要求掌握顺序查找算法的基本思想,能用程序来实现顺序查找的算法。考查方式为选择题与填空题。本节的

3、学习要求掌握顺序查找算法的基本思想,能用程序来实现顺序1为找自己第一次上幼儿园时的照片,小张同学依次翻开自己的多本相册来逐张查找。这种查找方法为 ()A无序查找 B顺序查找C对分查找 D随机查找B 1为找自己第一次上幼儿园时的照片,小张同学依次翻开自己的多2由10个数组成的数列:25、36、45、87、96、84、71、65、99、27,从中查找数据36时,最适合的查找方式是 ()A随机查找 B顺序查找 C对分查找 D模糊查找B2由10个数组成的数列:25、36、45、87、96、843英文字典中的单词是按字母ASCII从小到大排列的,习惯上将这种排法叫做字典排列。要在字典中快速查找某一个单词

4、(如Best)的解释,下列最适合的查找方法是()A顺序查找 B对分查找C倒序查找 D随机查找B 3英文字典中的单词是按字母ASCII从小到大排列的,习惯上4某数组有7个元素,依次分别是11、25、37、48、56、62、69,若采用顺序查找法在该数组中查找数据25,需要查找的次数是 ()A1 B2 C3 D4B 4某数组有7个元素,依次分别是11、25、37、48、565在数组23、41、54、26、84、52、65、21中查找数字52,采用从后往前顺序查找,需要查找的次数是()A2次 B3次 C7次 D1次B 5在数组23、41、54、26、84、52、65、21中查某校在进行新生录取工作时

5、,建立了一个数据库,共有650位新生(没有重名)的记录,现需要找出某个学生是否已经报名参加该校的暑期军训。Private Sub Command1_Click() Dim search As Integer, Stu As String search 0 Stu Text1.Text For i 1 To 650 If Stu a(i) Then _ Exit For End If Next i If search 0 Then MsgBox “找到该学生,在数组位置:” Str(search) Else mxgbox “找不到该学生” End IfEnd Sub 已知在一个事件过程中已经完成

6、650个学生的数据录入,学生姓名信息存放在数组a(1 to 650)中,Command1_Click事件过程完成了在对象Text1中输入学生姓名后,在Label1中输出查找结果。程序中画线部分应填入_,该程序主要采用了_算法。Search=i顺序查找某校在进行新生录取工作时,建立了一个数据库,共有650位新生7现在的学业水平考试都进行网上报名,小李设计了一个模拟查询的程序,实现查询某位考生已经报考的科目信息。设数组zkh用来存放学生的报名序号,数组name和bmk分别存储对应考生的姓名和已报考科目信息。程序运行界面如下图所示:7现在的学业水平考试都进行网上报名,小李设计了一个模拟查询输入报名序

7、号与考生姓名,若报名序号存在且考生姓名输入正确,则显示考生已报考科目信息。部分代码如下所示:Private Sub Command1_Click() Dim i As Integer, s As Integer Dim z As String, n As String, k As String z Text1.Text n Text2.Text For i 1 To n If Name(i) Then s i Exit For End If Next i If s 0 Then Label3.Caption “该考生已报考的科目是:” Else msgbox “找不到该考生” End IfEn

8、d SubPrivate Sub Form_Load()考生报名序号、姓名和报考科目数组赋值部分,忽略End Sub(1)该程序采用的算法是_。请将划线处的语句或表达式填充完整。(2)划线处应填入_。(3)划线处应填入_。顺序查找算法bmk(s)z=zkh(i) And n输入报名序号与考生姓名,若报名序号存在且考生姓名输入正确,则8要求从某一字符串中删除指定的字符(假设所含的英文字母均为小写字母),并将处理后的字符串重新输出。程序界面如图所示,在文本框Text_1中输入原始字符串,在文本框Text_2中输入需要删除的字符,单击“删除此字符”按钮(Command1)后,在文本框Text_3中输

9、出处理后的结果。8要求从某一字符串中删除指定的字符(假设所含的英文字母均为注:该示例程序在素材文件夹下vb31文件中。解决此问题的算法流程图如图所示,相应的Visual Basic程序如下:注:该示例程序在素材文件夹下vb31文件中。解决此问题的算法Dim p As String, k As StringPrivate Sub Command1_Click() Dim s As Integer, result As String, flag As Boolean result “” p Text_1.Text k Text_2.Text For s 1 To Len(p) flag f(s)

10、If Not flag Then result result End If Next s End SubFunction f(s As Integer) As Boolean If Mid(p, s, 1) k Then f TrueEnd Function(1)解决此问题的算法是_ (选填:顺序查找或对分查找)在程序和划线处,填入适当的语句或表达式,把程序补充完整。(2)程序中划线处应填入_。(3)程序中划线处应填入_。顺序查找Mid(p,s,1)Text_3.Text=resultDim p As String, k As String(19普源为晚上的班级联欢会设计了一个抽奖程序,将所有

11、同学的编号和对应的姓名分别保存在数组a(全班共50个同学,编号为1到50)和数组b中,程序会随机产生一个1到50的正整数(同时包括1和50),作为中奖编号。程序界面如图所示,左边列表框List1中显示同学的编号和姓名,单击“抽奖”按钮(Command1),在标签Label3中显示抽中的编号,同时在标签Label4中显示“恭喜*同学”,其中具体同学的姓名从数组b中获取。9普源为晚上的班级联欢会设计了一个抽奖程序,将所有同学的编解决此问题的程序段如下:Dim a(1 To 50) As IntegerDim b(1 To 50) As StringFunction search(m As Inte

12、ger) As Integer search 0 For i 1 To 50 If m a(i) Then search a(i) End If Next iEnd FunctionPrivate Sub Command1_Click() Dim c As Integer, t as Integer Randomize Label3.Caption Str(c) t search(c) If t 0 Then Label4.Caption “恭喜” “同学” End IfEnd SubPrivate Sub Form_Load( ) 此过程用于对数组a和数组b进行初始赋值,代码略End Sub

13、 (1)函数search中所用的算法是_。 在程序和划线处,填入适当的语句或表达式,把程序补充完整:(2)程序中划线处应填入_。 (3)程序中划线处应填入_。顺序查找算法c=Int(Rnd()*50+1)b(c)解决此问题的程序段如下: (1)函数search中所用的算法学校的每个学生卡卡号都是唯一的,卡内记录学生的个人信息。下列程序的功能是:在文本框Text1中输入捡到的学生卡卡号,单击“查找”按钮Command1,查找失主的信息,并在标签Label3中显示。部分VB程序代码如下所示:学校的每个学生卡卡号都是唯一的,卡内记录学生的个人信息。下列定义存放卡号的数组a,存放学生卡卡号定义存放学生信息的数组b,存放学生个人信息Private Sub Command1_Click() Const n 1000 Dim i As Integer, f As Integer Dim x As String, s As String x f 0 For i 1 To n If Then f i Exit For En

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论