幾個關於隨機數組產生的函式 包括各類可重複或不重複

2021-08-22 15:27:42 字數 1286 閱讀 9155

幾個關於隨機數組產生的函式 包括各類可重複或不重複

使用方法都比較簡單,也不多說了,無非就是用乙個陣列和乙個表示陣列大小的整數來呼叫,這裡要說明的是,你必須保證陣列的大小要足夠,其他的函式的作用可以參考具體檔案的注釋,我個人覺得夠詳細了

rand.h

//-------created by 九天雁翎(jtianling) email:[email protected]

#ifndef

rand_h

#define

rand_h

namespace

jtianling

//end of namespace jtianling

#endif

rand.cpp

//-------created by 九天雁翎(jtianling) email:[email protected]

#include

"rand.h"

#include

#include

#include

#include

namespace

jtianling

//確保範圍正確

return rand()%(j-i+1) + i;}//

演算法描述如<>

//by mark allen weiss

題目.8演算法所示,根據習慣,不對arr的大小做任何檢驗,

//呼叫此函式的人應該確保這一點,即arr的大小大於等於n

//此演算法的用途是高效地產生乙個不重複的隨機序列

//且此序列正好包括(1,n)中所有自然數

void randarraynorepeatinn(int arr, int n)

for(int i=0; i}//

此演算法產生隨機的不重複的陣列,陣列大小為n

//利用set容器的特性來保證沒有重複,因為set容器的查詢遠快於乙個乙個查詢

//所以此方法比<>

//by mark allen weiss

題目.8演算法所示演算法快,而且增長慢很多

void randarraynorepeat(int arr, int n)}}

}//產生乙個的隨機序列且此序列的數值只在(1,n)中,序列的大小由n指定

void randarrayinn(int arr, int n)}//

產生乙個隨機的序列,且序列的值為完全隨機,序列的大小由n指定

void randarray(int arr, int n)

}}//end of namespace jtianling

產生隨機數函式

1.system.currenttimemillis 2.math.random 返回乙個隨機雙精度值d,如 0.0 d 1.0 一般地,a math.random b 返回 a 到 a b 之間的隨機數,不包括 a b 3.生成任意兩個字元 ch1 和 ch2 ch1 ch2 之間的隨機字元 ch...

JS產生隨機數的幾個用法!

var chars 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z function generatemixed n return res 1.math.random 結果為0 1間的乙個隨機數 包括0,...

JS產生隨機數的幾個用法!

var chars 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z function generatemixed n return res 1.math.random 結果為0 1間的乙個隨機數 包括0,...