Random関数で乱数を重複なしで生成し、配列に格納する方法

追記です。前に挙げた物は単に配列を同サイズでシャッフルする物になっていました。
乱数を重複無しで生成し、任意サイズの配列に格納する場合のコードの案も挙げておきます。

Randomizing(MaxValue:int, Length:int ):[]int =
    var source :[]int= for:
        index:=1..MaxValue
    do:
        index
    
    numArr := for:
        index := 1..Length
        len := source.Length - index
        rndNum := GetRandomInt(0, len)
        result := source[rndNum]
        set source[rndNum] = source[len]
    do:
        result
    
    return numArr
1 Like