我想比较一个一维数组内是否有重复数据!
如:
dim intNum(10) as Integer
intNum(0)=1
intNum(1)=2
intNum(2)=3
intNum(3)=4
intNum(4)=1
intNum(5)=5
intNum(6)=2
intNum(7)=7
intNum(8)=2
intNum(9)=8
如何判断这个数组里有重复数据!!急!!!!!!!!!!!!!!
在线等!!

解决方案 »

  1.   

    只有10个?
    for i =0 to 9
    for j=0 to 9
    if intNum(i)=intNum(j) and i<>j then
    debug.print intNum(i) 
    end if
    next j
    next  i
      

  2.   

    for i=0 to 9
       for j=i+1 to 9
           if intNum(i)=intNum(j) then
               msgbox "have"
               
      

  3.   

    Dim blnIsExists As Boolean
    Dim I As Integer,J As Integer
    For I = 0 To Ubound(intNum) -1 
        For J=I+1 To Ubound(intNum)
            If intNum(I)=intNum(J) Then
                blnIsExists = True
                Exit For
            End If
        Next J
        If blnIsExists Then Exit For
    Next I
    If blnIsExists Then MsgBox "数据重复"
      

  4.   

    Private Sub Command1_Click()
        Dim intNum(10) As Integer
        intNum(0) = 1
        intNum(1) = 2
        intNum(2) = 3
        intNum(3) = 4
        intNum(4) = 1
        intNum(5) = 5
        intNum(6) = 2
        intNum(7) = 7
        intNum(8) = 2
        intNum(9) = 8
        MsgBox HasRepeat(intNum)
    End Sub'判断是否有重复
    '需要点击菜单:工程->引用->Microsoft Scripting Runtime
    Public Function HasRepeat(ByRef arr() As Integer) As Boolean
        Dim dict As Dictionary
        Set dict = New Dictionary
        Dim i As Variant
        For Each i In arr
            If dict.Exists(i) Then
                HasRepeat = True
                Exit Function
            Else
                dict.Add i, 0
            End If
        Next
        HasRepeat = False
    End Function