VB常用算法——数组元素插入与删除

上传人:油条 文档编号:20341613 上传时间:2017-11-21 格式:DOC 页数:3 大小:58.50KB
返回 下载 相关 举报
VB常用算法——数组元素插入与删除_第1页
第1页 / 共3页
VB常用算法——数组元素插入与删除_第2页
第2页 / 共3页
VB常用算法——数组元素插入与删除_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《VB常用算法——数组元素插入与删除》由会员分享,可在线阅读,更多相关《VB常用算法——数组元素插入与删除(3页珍藏版)》请在金锄头文库上搜索。

1、VB 常考算法(七)数组元素之插入删除:1、算法说明数组中元素的插入和删除一般是在已固定序列的数组中插入或删除一个元素,使得插入或删除操作后的数组还是有序的。1)插入代码如下:Private Sub Command1_Click()Dim a(10) As IntegerDim i As Integer, k As IntegerFor i = 0 To 9a(i) = i * 3 + 1Print a(i);Next iPrintPrint 插入 14For k = 0 To 9If 14 a(k) Then Exit ForNext kFor i = 9 To k Step -1 从最后元

2、素开始逐个后移腾出位置a(i + 1) = a(i)Next ia(k) = 14For i = 0 To 10Print a(i);Next iEnd Sub2)删除代码如下:Private Sub Command1_Click()Dim a() As Integer-ReDim a(1 To N)- For i = k + 1 To Na(i - 1) = a(i)Next iReDim Preserve a(1 To N - 1)End Sub2、实战练习1)补充代码(等级考试原题一)C 盘根目录下文件 Data4.txt 的内容是:2,4,6,8,10,1,3,5,7,9 。下面程序的

3、功能是将文件后半部分的奇数分别按序插入前半部分的适当位置,得到的新数列是: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 ExplicitPrivate Sub Form_Click()Dim a(10) As Integer, i As Integer, J As IntegerOpen c:data4.txt For Input As #12Do (1) 参考答案: While Not EOF(12)J = J + 1Input #12,

4、 a(J)LoopCall Insert(a)For i = 1 To 10Print a(i);Next iPrintClose #12End SubPrivate Sub Insert(a() As Integer)Dim i As Integer, Putp As Integer, J As IntegerDim Getp As Integer, N As Integer, Tem As IntegerN = UBound(a) / 2Putp = 1Getp = N + 1For i = 1 To NTem = a(Getp)For J = Getp To Putp + 1 Step

5、-1(2) 参考答案:a(J) = a(J - 1)Next Ja(Putp) = TemGetp = Getp + 1Putp = (3) 参考答案:Putp + 2Next iEnd Sub2)补充代码(等级考试原题二)下面程序的功能是将无序数组中相同的数只保留一个,其余得删除,并输出经过删除后的数组元素,删除相同数是通过将数组元素后面的元素在数组内依次前移替换前一个元素的值实现的。数组各元素从文件 Data.txt 中读取。Option ExplicitOption Base 1Private Sub Form_Click()Dim I As Integer, J As Integer,

6、 K As IntegerDim A() As Integer, T As Integer, M As IntegerOpen C:data.txt For Input As #1Do While (1) 参考答案:Not EOF(1)I = I + 1ReDim Preserve A(I)Input #1, A(I)LoopM = 1: T = (2) 参考答案:UBound(A)Do While M = TI = M + 1Do While I = TIf A(I) = A(M) ThenFor J = M To (3) 参考答案:T - 1A(J) = A(J + 1)Next JT = T - 1ElseI = (4) 参考答案:I + 1End IfLoopM = M + 1LoopReDim Preserve A(T)For I = 1 To TPrint A(I);Next IPrintEnd Sub

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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