论述VB常用算法总结大全.ppt

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
15.数组元素的插入与删除 (1) 插入 排序 复习材料 P50 第23 在有序数组a(1 to n)(原有n-1个元素)插入一个值Key元素, 算法: 查找要插入的位置k(1=k=n-1),腾出位置,把最后一个元素开始到第K个元素往后移动一个位置, 第k个元素的位置腾出,就可将数据Key插入 优选文档 * Private sub command1__click Dim a%( 11), I%,J% ,X% For I= 1 to 10 a(I)=I*5+1 ’通过程序自动生成有规律的数组 Next I X=Inputbox(“输入任意数X:”) For I= 1 to 10 ‘查找欲插入数X在数组中的位置 if Xa(I) then exit for ’找到插入的位置下标为I Next I For J=11 to I+1 step –1 ’从最后元素开始往后移,腾出位置 a(J)=a(J-1) Next J A(I)=X End sub 优选文档 * (2) 删除重复元素见 P113 例5-11 首先也是要找到欲删除的元素的位置k;然后从k+1到n个位置开始向前移动;最后将数组元素减1。例如,要将值为13的元素删除的过程为: 优选文档 * Dim a() as integer ’声明为动态数组 ….. Redim a( 1 to n) ’声明为有N个元素的数组 … ’查找到要删除的元素下标为K … For I=k+1 to N ’从K+1个元素开始往前移 A(I-1)=a(I) Next I ’最后一个元素的位置空出,利用数组重新声明减少一个元素,但要保留原来值 Redim preserve a( 1 to n-1) 优选文档 * 排序法有:选择、冒泡、插入法排序及合并排序等。 前两种排序欲排序的数据全部输入后,再进行排序; 插入法排序每输入一项,马上插入到数组应在的位置,数组始终有序。用插入排序法输入不多于20个数,使数组保持递增的序列。对数组中已有N-1个有序数,当输入某数X时,插入排序法实现的步骤: (1)输入欲排序的数据项x;在数组a中找x应所处的位置j; (2)从数组的最后一个元素开始到下标j依次往后移,使j位置空出; (3)将x放入位置j处,一个数据插入完成; (4)有若干个数重复(1)~(3)。 对于若干个数输入,只要调用插入排序过程即可。 优选文档 * Dim n As Integer Sub insert(a() As Single, ByVal x!) Dim i%, j% j = 1 Do While j n And x a(j) j = j + 1 Loop For i = n - 1 To j Step -1 a(i + 1) = a(i) Next i a(j) = x End Sub 优选文档 * Private Sub Text1_KeyPress(KeyAscii As Integer) Static bb!(1 To 20) Dim i% If n = 20 Then MsgBox 数据太多!, 1, 警告 End End If If KeyAscii = 13 Then n = n + 1 Call insert(bb(), Val(Text1)) Picture1.Print Text1 For i = 1 To n Picture2.Print bb(i); Next i Picture2.Print Text1 = End If End Sub 优选文档 * 数组的合并排序 从键盘读取数组a和b(各5个元素),a,b都是严格递增的(即元素从小到大排列,且无重复元素),将a,b合并成c数组,使C也严格递增。 若a,b中有相同的元素只保留一个,最后输出数组C。编写通用过程OutPut,在窗体上打印数组。 优选文档 * Option Explicit Dim a(5) As Integer, b(5) As Integer, c() As Integer Private Sub output(d() As Integer) ’输出数组的通用过程 Dim i As Integer

文档评论(0)

liuxiaoyu92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档