分享

VB 删除数组中的重复元素(转)

 franklinfj 2013-09-05

VB 删除数组中的重复元素  

2013-02-14 19:43:27|  分类: 【VB&编程】 |  标签: |字号 订阅

VB 删除数组中的重复元素,当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。并且返回结果数组。
以下这个函数只支持一维数组。

Function Array_unique(Arr As Variant) As Variant
    Arr = QuickSort(Arr)
    Dim k As Integer, i As Integer

    For i = 0 To UBound(Arr)
        If Arr(k) <> Arr(i) Then
            Arr(k + 1) = Arr(i)
            k = k + 1
        End If

    Next
    Dim NewArr() As Variant
    ReDim NewArr(k)
    For i = 0 To k
        NewArr(i) = Arr(i)
    Next

    Array_unique = NewArr
End Function

Function QuickSort(Arr)
    Dim i, j
    Dim bound, t
    bound = UBound(Arr)

    For i = 0 To bound - 1
        For j = i + 1 To bound
            If Arr(i) > Arr(j) Then
                t = Arr(i)
                Arr(i) = Arr(j)
                Arr(j) = t
            End If
        Next
    Next
    QuickSort = Arr
End Function

Sub Test()
    s = Array_unique(Array(3, "新兴网络", 3, 3, 1, "新兴网络", 7, 3, 3, 3, 9, 3, 3))
    Debug.Print Join(s, "|")

End Sub

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多