在C++中,可以使用标准模板库(STL)中的容器来存储和管理集合数据。常用的集合容器包括std::set
、std::unordered_set
等。以下是如何使用来自用户的输入来填充这些集合的示例。
std::set
std::set
是一个有序集合,它包含唯一元素。
#include <iostream>
#include <set>
int main() {
std::set<int> userSet;
int input;
std::cout << "请输入整数,输入0结束: ";
while (std::cin >> input && input != 0) {
userSet.insert(input);
}
std::cout << "用户输入的集合为: ";
for (const auto& elem : userSet) {
std::cout << elem << " ";
}
std::cout << std::endl;
return 0;
}
std::unordered_set
std::unordered_set
是一个无序集合,它也包含唯一元素。
#include <iostream>
#include <unordered_set>
int main() {
std::unordered_set<int> userSet;
int input;
std::cout << "请输入整数,输入0结束: ";
while (std::cin >> input && input != 0) {
userSet.insert(input);
}
std::cout << "用户输入的集合为: ";
for (const auto& elem : userSet) {
std::cout << elem << " ";
}
std::cout << std::endl;
return 0;
}
std::set
;如果不需要有序,std::unordered_set
通常性能更好。std::cin
的状态来处理错误输入。if (!(std::cin >> input)) {
std::cin.clear(); // 清除错误状态
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // 忽略错误输入
std::cout << "无效输入,请输入整数。" << std::endl;
}
通过上述代码示例和解释,你应该能够理解如何使用用户输入来填充C++中的集合,并且知道在遇到问题时如何解决。
微服务平台TSF系列直播
腾讯云存储专题直播
北极星训练营
北极星训练营
北极星训练营
北极星训练营
云+社区沙龙online第5期[架构演进]
云+社区沙龙online第5期[架构演进]
云+社区沙龙online第5期[架构演进]
领取专属 10元无门槛券
手把手带您无忧上云