C++ 使用 set 去重排序 100 个随机整数
以下是一个可能的解答:
#include <iostream>
#include <set>
#include <random>
int main() {
std::set<int> nums;
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<int> dis(1, 100);
while (nums.size() < 100) {
nums.insert(dis(gen));
}
for (int num : nums) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
这个程序首先创建了一个std::set<int>对象nums来存储去重后的随机数。然后使用std::random_device生成随机数种子,使用std::mt19937作为随机数生成器,并使用std::uniform_int_distribution<int>来生成1到100之间的随机整数。
接着,使用一个循环来生成100个随机数并插入到nums中,直到nums中的元素数量达到100。由于std::set会自动去重,所以插入重复的元素时会被忽略。
最后,使用一个循环遍历nums中的元素,并输出到标准输出,每个数字之间用空格隔开。
原文地址: https://www.cveoy.top/t/topic/pMJx 著作权归作者所有。请勿转载和采集!