不重複隨機數生成

2021-07-10 09:21:56 字數 628 閱讀 3682

直接上**:

/// /// 生成 [0,total) 的隨機數

///

/// 最大隨機數

/// ilist

private static ilistgetrandomsequence(int total)

random random = new random();

for (var i = listbase.count - 1; i >= 0; i--)

return listoutput;

}

原理是首先生成好 0 - total 的連續基礎資料,然後再隨機取其中的乙個,再把最後乙個數字複製到已經被取的數字的位置,再次生成隨機數的時候不包括基礎資料的最後乙個,以此類推。

下面是網上找的原始碼:

public static int getrandomsequence2(int total)

random random = new random();

int end = total - 1;

for (int i = 0; i < total; i++)

return output;

}

生成不重複的隨機數

思想是用乙個陣列來儲存索引號,先隨機生成乙個陣列位置,然後把這個位置的索引號取出來,並把最後乙個索引號複製到當前的陣列位置,然後使隨機 數的上限減一,具體如 先把這100個數放在乙個陣列內,每次隨機取乙個位置 第一次是1 100,第二次是1 99,將該位置的數用最後的數 代替。int index n...

隨機數生成(永不重複)

public class randomtreeutils char chars new char char chars new char int treedeeps chars.length int key 7 最多生成7位數 if treedeeps key 返回樹形 arraylist tree...

不重複隨機數

1 不重複隨機數1 生產 lowerbound,upperbound 的隨機數,核心 int upperbound lowerbound 1 rnd lowerbound 示例 如下 sub rndnumnorepeat1 dimdic dim i set dic createobject scri...