如何获取0到10 ^ 9的随机数(不重复)并将它们存储在数组中。
首先,我不确定如何声明一个大小为10 ^ 9的数组(我能够声明一个大小为10 ^ 8的数组)。 其次,我不知道如何存储没有重复的随机数。
到目前为止,这是我的代码:
#include<bits/stdc++.h>
using namespace std;
#define S 100000000
int main()
{
int i;
std::vector<int>result(S);
for( i = 1; i < S ; ++i)
{
int t = rand() % i; // t - is random value in [0..i)
result[i] = result[t]; // i-th element assigned random index-th value
result[t] =i; // and, random position assigned i value
}
}
我如何实现目标?