-
Notifications
You must be signed in to change notification settings - Fork 0
Random Array
struct rdArray
{
int n,typ;
long long rdMin,rdMax;
long long isDiff;
long long rdlist[Maxlen];
void Shuffle();
void Insert(int p,ll k);
void Delete(int p);
};分别为长度,种类,最小值,最大值,是否互不相同,数列,洗牌函数,插入函数,删除函数。
接下来是 rdArray 中函数的具体功能:
long long& operator()(int x) {...}
重载括号,根据下标指向随机数列的数字。
void Shuffle()
重排列整个数列,时间复杂度与数列长度相关。
void Insert(int p,long long k)
在 p 位置插入数 k,时间复杂度与数列长度相关。
void Delete(int p)
删除 p 位置的数,时间复杂度与数列长度相关。
std::ostream &operator<<(std::ostream &out,const rdArray &now)
重定义输出流,输出整个数列。
struct rdString:rdArray
{
int rdsiz;
char rdletter[50];
};rdString 继承自 rdArray,实现随机字符串。rdsiz 为字符集大小,rdletter[] 为字符集。
std::ostream &operator<<(std::ostream &out,const rdString &now)
重定义输出流,输出整个字符串。
接下来是关于随机数列的构造函数:
rdArray RandArray(int n,long long rdMin=1,long long rdMax=1ll*1e9,bool isDiff=false)
构造一个随机数列。
rdArray RandRange(int n)
根据 rdArray.Shuffle() 构造一个随机排列。
rdString RandString(int n,long long rdMin=0,long long rdMax=25)
构造一个随机字符串,字符集为字母表的 位置。
rdString RandSpeStr(int n,int rdsiz,char rdletter[])
构造特殊字符集字符串。
rdString RandBrac(int n)
构造一个长为 的随机括号序列。