vb 求数组合并 代码

来源:百度知道 编辑:UC知道 时间:2024/05/17 22:02:12
数组a和b中分别存放的10个升序排列的整数(数组元素的值可用Array函数赋值),将两数组元素合并,使合并后的数组仍然升序排列。在屏幕上输出合并前后的数组。

Private Sub Form_Click()
Dim A(9) As Integer
Dim B(9) As Integer
Dim C(19) As Integer '合并后的数组
Dim i As Integer, j As Integer, t As Integer
A(0) = 1: A(1) = 4: A(2) = 5: A(3) = 7: A(4) = 9: A(5) = 11: A(6) = 14: A(7) = 16: A(8) = 16: A(9) = 17
B(0) = 2: B(1) = 3: B(2) = 5: B(3) = 6: B(4) = 11: B(5) = 12: B(6) = 21: B(7) = 32: B(8) = 43: B(9) = 45
t = 0: j = 0
For i = 0 To 9
If A(i) < B(j) Then
C(t) = A(i)
ElseIf A(i) = B(j) Then
C(t) = A(i): t = t + 1: C(t) = A(i): j = j + 1
Else
C(t) = B(j): j = j + 1: i = i - 1
End If
t = t + 1
Next i
If (j <> 9) Then
For i = j To 9
C(t) = B(i): t = t + 1
Next
End If
For i = 0 To 19
Print C(i)
Next
End Sub

方法一:先合并,再次排序。
适用于数据量少。优点是方法简单。缺点是数据多时费时。

方法二:在合并的同时排序。
适用于数据量大。优点速度快,缺点方法复杂。