如何删除向量中的重复项(不排序)C ++

时间:2016-04-20 03:57:37

标签: c++

我有一个用户输入一些字符串的向量。我想保留用户输入的顺序,但删除任何重复的单词。我在网上找到的唯一的东西是排序和独特,但由于我无法对矢量进行排序,我被卡住了。预先感谢您的任何帮助。

e.x。   来自用户的输入 - >你好那里有猫猫你好猫书

vector应该有 - >你好有狗猫书

现在我所拥有的只是......

string s; 
vector <string> myVec; 

while (cin >> s){
 myVec.push_back(s); 
}

{code to sort vector}

1 个答案:

答案 0 :(得分:9)

除了vector之外,你可以测试这个词是否已经在std::set<std::string>中,如果是,则忽略它,否则将其插入两个容器中:

while (cin >> s)
    if (mySet.insert(s).second) // newly inserted in set?
        myVec.push_back(s);