- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
数组是程序设计中使用最广泛的数据结
构之一,特别是将循环语句和数组结合使用
时,可以大大提高编程的效率。
数据的查找、和删除等操作,是数
据处理中常用算法。用数组和循环结合,使
这些常用算法处理更为便捷。
常用算法-2
1.查找
常用的查找数组元素的方法有两种:
顺序查找法。即从第一个数组元素开始,
依次找到最后一个数组元素。
二分法查找。即查找前已有数组元素按照
升序或降序排序,然后按照一定的算法进行
查找。
常用算法-3
介绍顺序查找的算法,顺序查找算法如下:
将要查找的值与数组中的第一个元素的
值进行比较。若相同,则查找成功;否则和
第二个元素进行比较,以此类推,直至最后
一个数组结束。X记录下标
//
A(0)A(1)A(2)A(3)A(4)A(5)
例:以下程序段中为输入要查找的元素值,并
用顺序查找方法查找该元素
常用算法-4
PrivateSubForm1_Click(ByValsenderAsObject,ByValeAs
System.EventArgs)HandMe.Click
Dimc()AsInteger={3,5,7,12,55,67}
Dimkey,id,iAsInteger
key=Val(InputBox(输入要查找的元素值:)
id=-1找不到,id值设置为-1
Fori=0ToUBound(c)
Ifkey=c(i)Then
id=i找到,该元素的下标保存到id中,查找结束
ExitFor
EndIf
Nexti
Ifid-1Then
Label1.Text=你所查找的元素下标是:id
Label1.Text=Label1.TextvbCrLf你所查找的元素值是:key
Else
Label1.Text=你所查找的数组元素不存在!
EndIf
EndSub
常用算法-5
2.
在已有n个元素的有序数组中一个新
的元素x,使得数组仍有序。假设数组A的元
素以升序排列,其算法为:
①从第1个元素开始比较,若a(k)x,则k为
要的位置。如果数组中的元素值都小于x
,则添加在最后(即k=n+1)。
②从第n个元素开始,将第n个元素到第k个元
素逐个向后移动一位;
③将新的元素x放入第k个元素位置。
A(0)A(1)A(2)A(3)A(4)A(5)
常用算法-6
例:原始数组a为:12,21,25,31,33,45,67,68,
89,要在数组a中34,原代码如下:
Dima()AsInteger={12,21,25,31,33,45,67,68,89}
PrivateSubForm1_Click(ByValsenderAsObject,ByValeAs
System.EventArgs)HandMe.Click
Dimi,k,n,xAsInteger
n=UBound(a)
x=Val(InputBox(请输入的数据))
Fori=0Ton
Ifa(i)xThen
原创力文档


文档评论(0)