gpt4 book ai didi

c++ - 判断 C++11 unordered_set 中是否发生碰撞

转载 作者:行者123 更新时间:2023-11-28 02:56:10 28 4
gpt4 key购买 nike

我正在玩 C++11,我正在尝试将元素添加到无序集合中,如果我已经向我的 unordered_set 添加了一个元素,我不想再次添加它(即)不要添加 cat再次回到下面的无序集。

    std::unordered_set<std::string> s;
std::vector<std::string> myString;

myString.push_back("cat");
myString.push_back("dog");
myString.push_back("bird");
myString.push_back("cat");



for(auto &i : myString){
//add elements from myString to unordered_set s
}

我不太清楚该怎么做。我意识到我需要有一个 std::pair 等于我的 s.insert(i) 但是我不太确定如何设置它所以我可以这样做。

任何帮助将不胜感激

最佳答案

你为什么担心? std::unordered_set 只包含唯一元素(如果已经存在则自动不添加),但是有一个find() 函数:

for(auto &i : myString){
if(s.insert(i).second)
//inserted
else
//already exists
}

关于c++ - 判断 C++11 unordered_set 中是否发生碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21945349/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com