计算机考试二级VB常用算法(7):排序
1.算法表明,数组中元素的插入和删除一般是以固定的顺序插入或删除数组中的一个元素,使插入或删除操作后的数组仍然有序。
基本思路:首先找到插入位置或者要删除的元素。
1)插入
代码如下:
private子命令1 _ click()
dim a(10)as integer
dim I as integer, k为整数
for i = 0to9 '生成数组
a(I
next I
print
print " insert 14 "/br/]For k = 0 To 9 '找到insert 14在数组中的位置
如果14 < a (k)则退出For
next k
For I = 9 To k Step-1 '从最后一个元素开始一个一个向后移动, 为位置
A(I+1)= A(I)
Next I
A(K)= 14 '插入数字14
For I = 0到10[
Next I
Print
End Sub
2)1 4 7 10 13 16 19 22 25 28
K
删除代码如下:
Dim A()为整数
...
Redim A(1到n)
...
for I = k+1到n
RedPreserve A (1到N-1)
2。实际练习1)补充代码(2001年8月2日)
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 Explict
Private Sub Form _ Click()
Dim A(10)As Integer,i As Integer,J As Integer
Open " c:\ data 4 . txt " For Input As # 12
Do(1)
J = J+1
Input # 12,A(J)
Loop
Call Insert(A)
For I = 1到10
Next I
Print
Close # 12
End Sub
Private Sub Insert(A()为整数)
Dim i为整数,Putp为整数,J为整数
Dim Getp为整数,N为整数, 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)
NEXT J
A(PUTP)= Tem
Getp = Getp+1
PUTP =(3)[] 删除相同的数字是通过在数组中向前顺序移动数组元素后面的元素来替换前面元素的值来实现的。数组中每个元素的值都是从文件data . txt
Option Explict
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:\ my documents \ 2000 test \ data . txt " For Input As # 1
Do While(1)
I = I A(I)
循环
M = 1:T =(2)
Do While M I = M+1
Do While I If A(I)= A(M)Then
For J = 1 To(3)
A(J)= A(J+1)
Next J
T = T-1
Else
I =(4)
End If
下一次我
打印
结束Sub
0条评论