C 將1 100隨機不重複的放入陣列

2021-05-31 22:40:29 字數 657 閱讀 8957

換個思路,將1~100放入集合,從中選取數字放入結果陣列中,然後將已選過的數字從集合中移除。這樣每一次隨機都能選到數字,而不會多次拋棄隨機出來的值。

int num = new int[100];                       //定義陣列

for (int i = 1; i <= 100; i++)                  

arraylist al = new arraylist(num);              //定義arraylist

random r = new random();                       //定義隨機數

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

{int pos = r.next(al.count);                 //隨機選擇下標

num[i] = convert.toint32(al[pos]);          //arraylist中所選下標對應的數字存入陣列

al.removeat(pos);                           //移除arraylist中的該數字

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

console.write(num[i].tostring() + " ");

不重複隨機數

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

不重複的隨機數

大哥,看了你這篇博文我怎樣才能產生10個且每個有8位不相同的隨機數字?剛才有位在skype問及如上問題。好的,insus.net也正想寫乙個儲存過程來應用上面這篇的sql語句,你可以參考如下的儲存過程,如果還問題請繼續討論。create procedure dbo usp randomnumber ...

C 生成不重複的隨機數

在做洗牌演算法的時候用到了隨機數,並且產生的隨機數中不能有重複的元素,因為是用c語言實現的,就把值賦給陣列,然後用隨機數產生陣列的下標,每產生乙個就刪除對應的元素,然後隨機數的生成範圍減一,但是這樣做每次都要迴圈去移動陣列元素,從時間複雜度上來說這樣並不好。於是,後來用c 重新實現 實現的思路並沒有...