vb怎么在一个升序数组中插入一个数据?

如题所述

Private Sub Command1_Click()

 Dim a()

 a = Array(12, 23, 34, 55, 66, 69, 78)    '原来的数组

 Print "原来的数组:"

 n = UBound(a)

 For i = 0 To n

    Print a(i);

 Next i

 Print

 ReDim Preserve a(n + 1)

 x = Val(InputBox("请输入一个要插入的数:"))    '读入一个新的要插入的数

 Do While a(n) > x        '从后面开始,将大数后移一位

   a(n + 1) = a(n)

   n = n - 1        '继续比较前面的数

   If n < 0 Then Exit Do    '超出范围就退出循环

 Loop

 a(n + 1) = x        '将新数插入合适的位置

 Print "新的数组:"

 For n = 0 To UBound(a)    '输出新的数组

   Print a(n);

 Next n

 Print: Print

End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-02-02
修改一下吧。连看到都看不到么?本回答被提问者采纳
第2个回答  2016-02-01
对于有序数组,首先使用二分查找,找到插入位置,然后才是插入过程。
程序都能百度到,我就不写了。
第3个回答  2016-02-01
数组元素个数增加1
循环整个数组元素 和这个要插入的数组对比 如果 新数据大于原来的 则继续和下一个原来的数据进行对比 如果新数据小于的话就将该原数据 包括后面的数据向后移动一位 然后插入新数据
相似回答