电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

完整版VB常用算法——数组元素插入与删除VIP免费

完整版VB常用算法——数组元素插入与删除_第1页
完整版VB常用算法——数组元素插入与删除_第2页
完整版VB常用算法——数组元素插入与删除_第3页
VB 常考算法(七)数组元素之插入删除:1、算法说明数组中元素的插入和删除一般是在已固定序列的数组中插入或删除一个元素,使得插入或删除操作后的数组还是有序的。1)插入代码如下:Private Sub Command1_Click() Dim a(10) As Integer Dim i As Integer, k As Integer For i = 0 To 9 a(i) = i * 3 + 1 Print a(i); Next i Print Print " 插入 14" For k = 0 To 9 If 14 < a(k) Then Exit For Next k For i = 9 To k Step -1 ' 从最后元素开始逐个后移腾出位置a(i + 1) = a(i) Next i a(k) = 14 For i = 0 To 10 Print a(i); Next i End Sub 2)删除代码如下:Private Sub Command1_Click() Dim a() As Integer --- ReDim a(1 To N) --- For i = k + 1 To N a(i - 1) = a(i) Next i ReDim Preserve a(1 To N - 1) End Sub 2、实战练习1)补充代码(等级考试原题一)C 盘根目录下文件Data4.txt 的内容是: 2,4,6,8,10,1,3,5,7,9。下面程序的功能是将文件后半部分的奇数分别按序插入前半部分的适当位置,得到的新数列是: 1 2 3 4 5 6 7 8 9 10。(实现方法: 第一次调整后的数列是1 2 4 6 8 10 3 5 7 9 ,第二次调整后的数列是:1 2 3 4 6 8 10 5 7 9)。Option Explicit Private Sub Form_Click() Dim a(10) As Integer, i As Integer, J As Integer Open "c:\data4.txt" For Input As #12 Do (1)‘参考答案:While Not EOF(12)J = J + 1 Input #12, a(J) Loop Call Insert(a) For i = 1 To 10 Print a(i); Next i Print Close #12 End Sub Private Sub Insert(a() As Integer) Dim i As Integer, Putp As Integer, J As Integer Dim Getp As Integer, N As Integer, Tem As Integer N = UBound(a) / 2 Putp = 1 Getp = N + 1 For i = 1 To N Tem = a(Getp) For J = Getp To Putp + 1 Step -1 (2)‘参考答案: a(J) = a(J - 1)Next J a(Putp) = Tem Getp = Getp + 1 Putp = ( 3)‘参考答案: Putp + 2Next i End Sub 2)补充代码(等级考试原题二)下面程序的功能是将无序数组中相同的数只保留一个,其余得删除, 并输出经过删除后的数组元素, 删除相同数是通过将数组元素后面的元素在数组内依次前移替换前一个元素的值实现的。数组各元素从文件Data.txt 中读取。Option Explicit Option Base 1 Private Sub Form_Click() Dim I As Integer, J As Integer, K As Integer Dim A() As Integer, T As Integer, M As Integer Open "C:\data.txt" For Input As #1 Do While (1)‘参考答案: Not EOF(1)I = I + 1 ReDim Preserve A(I) Input #1, A(I) Loop M = 1: T = (2)‘参考答案: UBound(A)Do While M <= T I = M + 1 Do While I <= T If A(I) = A(M) Then For J = M To (3)‘参考答案: T - 1A(J) = A(J + 1) Next J T = T - 1 Else I = (4)‘参考答案: I + 1End If Loop M = M + 1 Loop ReDim Preserve A(T) For I = 1 To T Print A(I); Next I Print End Sub

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部