欢迎来到天天文库
浏览记录
ID:33159453
大小:52.50 KB
页数:4页
时间:2019-02-21
《vb常用算法7 数组元素增删》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、VB常用算法----数组元素插入与删除数组中元素的插入和删除一般是在已固定序列的数组中插入或删除一个元素,使得插入或删除操作后的数组还是有序的。基本思路:首先要找到插入位置或要删除的元素。1. 插入代码如下:PrivateSubCommand1_Click()Dima(10)AsIntegerDimiAsInteger,kAsIntegerFori=0To9'生成数组a(i)=i*3+1Printa(i);NextiPrintPrint"插入14"Fork=0To9'查找插入14在数组中的位置If142、ExitForNextkFori=9TokStep-1'从最后元素开始逐个后移,腾出位置a(i+1)=a(i)Nextia(k)=14'插入数14Fori=0To10Printa(i);NextiPrintEndSub 42.删除14710131619222528K代码如下:Dima()asinteger….ReDima(1ton)…Fori=k+1tona(i-1)=a(i)NextIRedimpreservea(1ton-1) 3.实战练习1)完善程序填空(2001秋二(8))C盘根目录下文件Data4.txt的内3、容是:2,4,6,8,10,1,3,5,7,9。下面程序的功能是将文件后半部分的奇数分别按序插入到前半部分的适当位置,得到的新数列是:12345678910。(实现方法:第一次调整后的数列是:12468103579第二次调整后的数列是:12346810579)。OptionExplicitPrivateSubcommand1_Click()DimA(10)AsInteger,iAsInteger,JAsIntegerOpenApp.Path&"Data4.txt"ForInputAs#12Do(1)J=J+1Inpu4、t#12,A(J)LoopCallInsert(A)Fori=1To10PrintA(i);NextiPrintClose#124EndSubPrivateSubInsert(A()AsInteger)DimiAsInteger,PutpAsInteger,JAsIntegerDimGetpAsInteger,NAsInteger,TemAsIntegerN=UBound(A)/2Putp=1Getp=N+1Fori=1ToNTem=A(Getp)ForJ=GetpToPutp+1Step-1(2)NextJA(Put5、p)=TemGetp=Getp+1(3)NextiEndSub 2)完善程序填空(2001春二(8))下面程序得功能是将无序数组中相同的数只保留一个,其余的删除,并输出经过删除后的数组元素,删除相同数是通过将该数组元素后面的元素在数组内依次前移替换前一个元素的值实现的。数组各元素的值从文件data5.txt中读取。 OptionExplicitOptionBase1PrivateSubcommand1_Click()DimIAsInteger,JAsInteger,KAsIntegerDimA()AsInteger,T6、AsInteger,MAsIntegerOpenApp.Path&"data5.txt"ForInputAs#1DoWhile(1)I=I+1ReDimPreserveA(I)Input#1,A(I)PrintA(I);LoopPrintM=1:T=(2)DoWhileM7、;NextIPrintEndSub4
2、ExitForNextkFori=9TokStep-1'从最后元素开始逐个后移,腾出位置a(i+1)=a(i)Nextia(k)=14'插入数14Fori=0To10Printa(i);NextiPrintEndSub 42.删除14710131619222528K代码如下:Dima()asinteger….ReDima(1ton)…Fori=k+1tona(i-1)=a(i)NextIRedimpreservea(1ton-1) 3.实战练习1)完善程序填空(2001秋二(8))C盘根目录下文件Data4.txt的内
3、容是:2,4,6,8,10,1,3,5,7,9。下面程序的功能是将文件后半部分的奇数分别按序插入到前半部分的适当位置,得到的新数列是:12345678910。(实现方法:第一次调整后的数列是:12468103579第二次调整后的数列是:12346810579)。OptionExplicitPrivateSubcommand1_Click()DimA(10)AsInteger,iAsInteger,JAsIntegerOpenApp.Path&"Data4.txt"ForInputAs#12Do(1)J=J+1Inpu
4、t#12,A(J)LoopCallInsert(A)Fori=1To10PrintA(i);NextiPrintClose#124EndSubPrivateSubInsert(A()AsInteger)DimiAsInteger,PutpAsInteger,JAsIntegerDimGetpAsInteger,NAsInteger,TemAsIntegerN=UBound(A)/2Putp=1Getp=N+1Fori=1ToNTem=A(Getp)ForJ=GetpToPutp+1Step-1(2)NextJA(Put
5、p)=TemGetp=Getp+1(3)NextiEndSub 2)完善程序填空(2001春二(8))下面程序得功能是将无序数组中相同的数只保留一个,其余的删除,并输出经过删除后的数组元素,删除相同数是通过将该数组元素后面的元素在数组内依次前移替换前一个元素的值实现的。数组各元素的值从文件data5.txt中读取。 OptionExplicitOptionBase1PrivateSubcommand1_Click()DimIAsInteger,JAsInteger,KAsIntegerDimA()AsInteger,T
6、AsInteger,MAsIntegerOpenApp.Path&"data5.txt"ForInputAs#1DoWhile(1)I=I+1ReDimPreserveA(I)Input#1,A(I)PrintA(I);LoopPrintM=1:T=(2)DoWhileM7、;NextIPrintEndSub4
7、;NextIPrintEndSub4
此文档下载收益归作者所有