3个回答
2018-05-09 · 知道合伙人软件行家
关注
展开全部
代码补充如下:
Private Sub Command1_Click()
Dim b()
Dim i As Integer
b = Array(16, 19, 19, 32, 50, 50, 50, 78, 80, 80, 95)
For i = 0 To UBound(b)
Text1.Text = Text1.Text & b(i) & Space(2)
Next
Call arrange(b) '补充代码
For i = 0 To UBound(b) '补充代码
Text2.Text = Text2.Text & b(i) & Space(2)
Next
End Sub
Sub arrange(a())
Dim m As Integer, n As Integer, k As Integer
m = UBound(a)
n = m
Do While m > 0
If a(m) = a(m - 1) Then
For k = m To n '补充代码
a(k - 1) = a(k)
Next k
n = n - 1 '补充代码
End If
m = m - 1 '补充代码
Loop
ReDim Preserve a(n)
End Sub
运行结果截图:
代码思路:
代码的去除重复元素,是通过从数组末尾开始,每次将当前元素与前一个元素,两个相邻元素进行比较,如果相同,就将当前元素去除(覆盖),并将后面的元素提前1个序号,依次类推,直到数组的开始,将数组重新修改大小(去掉重复)。
执行过程举例:
初始:
当 m = 9时,a(9)=a(8),相同,需要将 a(9) 去掉(覆盖),将 a(9) 后面的元素统一提前一个序号:
其它的依次类推。
展开全部
不就是个排序吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询