c++ rand函数怎样避免生成重复值

avatar
作者
筋斗云
阅读量:16

要避免生成重复值,可以使用以下方法:

  1. 设置随机种子:在使用rand函数之前,可以通过srand函数设置一个随机种子,可以使用当前时间作为种子,这样每次程序运行时生成的随机数序列都会不同。
srand(time(0)); 
  1. 使用set容器:可以将生成的随机数存储在set容器中,每次生成随机数时先检查是否在set中存在,如果存在则重新生成,直到生成一个不重复的随机数。
#include <iostream> #include <set> #include <cstdlib>  int main() {     std::set<int> generatedNumbers;     while (generatedNumbers.size() < 10) {         int randomNumber = rand() % 100;         if (generatedNumbers.find(randomNumber) == generatedNumbers.end()) {             generatedNumbers.insert(randomNumber);             std::cout << randomNumber << " ";         }     }     return 0; } 

通过以上方法,可以有效避免生成重复的随机数。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!