"C++ 编程题:利用 set 去重排序 100 个随机数"\n\n本题使用 C++ 中的 set 数据结构,对生成的 100 个 1 到 100 之间的随机整数进行去重排序,并输出排序后的结果。代码示例展示了如何使用 set、随机数生成器和循环来实现该功能。\n\n\ncpp\n#include \"iostream\"\n#include \"set\"\n#include \"random\"\n\nint main() {\n std::set<int> numbers;\n std::random_device rd;\n std::mt19937 gen(rd());\n std::uniform_int_distribution<int> dis(1, 100);\n\n while (numbers.size() < 100) {\n numbers.insert(dis(gen));\n }\n\n for (int num : numbers) {\n std::cout << num << \" \";\n }\n\n return 0;\n}\n\n\n代码解释:\n\n1. 使用 std::set 存储随机数,因为 std::set 会自动去重并排序。\n2. 使用 std::random_device 获取随机数种子,确保生成的随机数尽可能随机。\n3. 使用 std::mt19937 创建随机数生成器,并用 std::uniform_int_distribution 定义生成 1 到 100 之间的随机整数的范围。\n4. 循环生成随机数,直到 numbers 中的元素数量达到 100。\n5. 遍历 numbers,输出每个数字,用空格隔开。\n\n这个方法简洁高效,利用了 C++ 标准库提供的强大功能,方便地实现了题目要求。\n


原文地址: https://www.cveoy.top/t/topic/pLpL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录