麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

ASP函數 隨機輸出數組中元素Shuffle()

2019-11-17 04:14:15
字體:
來源:轉載
供稿:網友

<%
Sub Shuffle (ByRef arrInput)
    'declare local variables:
    Dim arrIndices, iSize, x
    Dim arrOriginal

    'calculate size of given array:
    iSize = UBound(arrInput)+1

    'build array of random indices:
    arrIndices = RandomNoDuplicates(0, iSize-1, iSize)

    'copy:
    arrOriginal = CopyArray(arrInput)

    'shuffle:
    For x=0 To UBound(arrIndices)
        arrInput(x) = arrOriginal(arrIndices(x))
    Next
End Sub

Function CopyArray (arr)
    Dim result(), x
    ReDim result(UBound(arr))
    For x=0 To UBound(arr)
        If IsObject(arr(x)) Then
            Set result(x) = arr(x)
        Else
            result(x) = arr(x)
        End If
    Next
    CopyArray = result
End Function

Function RandomNoDuplicates (iMin, iMax, iElements)
    'this function will return array with "iElements" elements, each of them is random
    'integer in the range "iMin"-"iMax", no duplicates.

    'make sure we won't have infinite loop:
    If (iMax-iMin+1)>iElements Then
        Exit Function
    End If

    'declare local variables:
    Dim RndArr(), x, curRand
    Dim iCount, arrValues()

    'build array of values:
    Redim arrValues(iMax-iMin)
    For x=iMin To iMax
        arrValues(x-iMin) = x
    Next

    'initialize array to return:
    Redim RndArr(iElements-1)

    'reset:
    For x=0 To UBound(RndArr)
        RndArr(x) = iMin-1
    Next

    'initialize random numbers generator engine:
    Randomize
    iCount=0

    'loop until the array is full:
    Do Until iCount>=iElements
        'create new random number:
        curRand = arrValues(CLng((Rnd*(iElements-1))+1)-1)

        'check if already has duplicate, put it in array if not
        If Not(InArray(RndArr, curRand)) Then
            RndArr(iCount)=curRand
            iCount=iCount+1
        End If

        'maybe user gave up by now...
        If Not(Response.IsClientConnected) Then
            Exit Function
        End If
    Loop

    'assign the array as return value of the function:
    RandomNoDuplicates = RndArr
End Function

Function InArray(arr, val)
    Dim x
    InArray=True
    For x=0 To UBound(arr)
        If arr(x)=val Then
            Exit Function
        End If
    Next
    InArray=False
End Function

'usage:
Dim arrTest
arrTest = Array(5, 8, 10, 15, 2, 30)
Call Shuffle(arrTest)
Response.Write(Join(arrTest, "<br />"))
%>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美一区二区三区不卡免费观看 | 色中色在线播放 | 99精品国产成人一区二区 | 国产精品美女一区二区 | 久久精品av| 制服丝袜成人动漫 | 久久无毛 | 国产手机av在线 | 911精品影院在线观看 | 国产一区二区精品91 | 好吊色欧美一区二区三区四区 | 亚洲午夜在线视频 | 55夜色66夜色国产精品视频 | 成人网在线观看 | 亚洲91网站 | 国产999视频在线观看 | 久久久久久久久久一本门道91 | 亚洲精品午夜在线 | 国产理论视频在线观看 | 免费毛片a线观看 | 日韩视频精品一区 | 国产青草视频在线观看 | 日本教室三级在线看 | www.99热精品 | av电影在线观看网址 | h视频在线免费观看 | 欧美一级黄色免费看 | 欧美精品一区二区久久 | 欧美女孩videos| 色污视频 | 久久国产精品网 | 91精品国产91久久久 | 欧美一区二区三区不卡免费观看 | 日韩在线欧美在线 | 羞羞的视频免费 | 草久网| 免费黄色大片网站 | 成人在线视频精品 | 日韩精品中文字幕一区二区 | 中文字幕综合在线观看 | 13一14毛片免费看 |