求助在VB中编写一个删除数组中的重复元素程序!

例如一个数组a(10)=(1,2,3,1,2,3,4,1,2,3)
我编写的程序是
mCount = UBound(a)
For i = 0 To mCount - 1
For j = i + 1 To mCount
If a(i) = a(j) Then
For k = j To mCount - 1
a(k) = a(k + 1)
Next k
ReDim Preserve a(mCount - 1)
mCount = mCount - 1
End If
Next j
Next i
这个程序能够实现删除上面数组里的程序。但是要是数组是这个情况的话就实现不了了,例如a(10)=(2,1,1,1,1,1,1,2,3,1,2),其中连续的几个1就不能够完全删除。
请问是哪出现了问题,怎么修改我的程序。
先谢谢了!

试试我这个,看看行不行。
Private Sub Form_Load()
Dim a(4) As String
a(0) = 1
a(1) = 2
a(2) = 1
a(3) = 1
a(4) = 2
Dim b() As String
b = RemoveSameItemFromArray(a, "*")
Debug.Print b(0); b(1)
End Sub
Function RemoveSameItemFromArray(arr() As String, sep As String) As String()
Dim temp As String
Dim a() As String
For I = 0 To UBound(arr)

If InStr(temp, arr(I)) = 0 Then
ReDim Preserve a(cnt)
a(cnt) = arr(I)
cnt = cnt + 1
temp = temp & sep & arr(I)
End If

Next

RemoveSameItemFromArray = a
End Function
温馨提示:答案为网友推荐,仅供参考
相似回答