c++如何输出数组所有元素’_VB两个数组合并&排序功能的实现

52f9563173fb7166f0366b4c3ed9b720.png 数组: 以一个变量名引用一组变量,用不同的下标数字来区分具体某个元素。 数组的下标有上界与下界,数组元素在下界与上界之间连续分布。 使用数组比使用单个变量的好处在于,可以通过对下标的操作来简化程序。

今天我们共同来看一下数组合并排序的实现。

7fe067247326fcc7e4cd98638cce3683.png

程序运行图


代码如下:

Dim a() As Variant, b() As Variant, c(1000) As Variant '声明数组

Private Sub Form_Load() '数组初始化

    a = Array(2, 4, 6, 8, 10)

    b = Array(1, 3, 5, 7, 9, 11, 13, 15) '用Array函数给数组赋初值

End Sub

Private Sub Command1_Click() '合并排序

    For i = 0 To UBound(a) '输出数组a里的所有元素

         Picture1.Print a(i);

    Next i

    For i = 0 To UBound(b) '输出数组b里的所有元素

          Picture2.Print b(i);

    Next i

    Call meargesort(a, b, c) '调用合并子过程,完成合并操作

    For i = 0 To UBound(c) '合并后的结果存在数组c里

         Picture3.Print c(i); '输出数组c里的所有元素, 即合并后的结果

    If (i + 1) Mod 5 = 0 Then Picture3.Print  '每输出5个换一次行

        Next i

End Sub

Public Sub meargesort(aa() As Variant, bb() As Variant, cc() As Variant) '自定义的子过程

Dim ia As Integer, ib As Integer, ic As Integer

Do While ia <= UBound(aa) And ib <= UBound(bb)  '设置进行合并的条件循环

  If aa(ia) < bb(ib) Then    '两个数组里的元素依次进行比较

   cc(ic) = aa(ia): ia = ia + 1 '把较小的数组元素赋给新数组

 Else

   cc(ic) = bb(ib): ib = ib + 1 '哪个数组赋过值,相应的计数器计数

End If

ic = ic + 1 '给新数组统计下标数

Loop

Do While ia <= UBound(aa) '如果aa数组还有剩余元素则全部赋给新数组

  cc(ic) = aa(ia): ia = ia + 1: ic = ic + 1

Loop

Do While ib <= UBound(bb) '如果bb数组还有剩余元素则全部赋给新数组

 cc(ic) = bb(ib): ib = ib + 1: ic = ic + 1

Loop

End Sub

fce57de1d00b150c214a4f45e854dba9.gif 4d0207a1f50fd972f4fbabcaf7355375.png

有VB学习问题,可长按识别下图添加老师微信号在线答疑。

3831b5b618d1628fa1a8ce6a8ce6d848.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值