电竞比分网-中国电竞赛事及体育赛事平台

分享

VB 刪除數(shù)組中的重復(fù)元素(轉(zhuǎn))

 franklinfj 2013-09-05

VB 刪除數(shù)組中的重復(fù)元素  

2013-02-14 19:43:27|  分類: 【VB&編程】 |  標(biāo)簽: |字號 訂閱

VB 刪除數(shù)組中的重復(fù)元素,當(dāng)幾個(gè)數(shù)組元素的值相等時(shí),只保留第一個(gè)元素,其他的元素被刪除。并且返回結(jié)果數(shù)組。
以下這個(gè)函數(shù)只支持一維數(shù)組。

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, "新興網(wǎng)絡(luò)", 3, 3, 1, "新興網(wǎng)絡(luò)", 7, 3, 3, 3, 9, 3, 3))
    Debug.Print Join(s, "|")

End Sub

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多