【问题标题】:How to delete duplicates in vector (without sorting) C++如何删除向量中的重复项(不排序)C++
【发布时间】:2016-08-12 12:38:43
【问题描述】:

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

例如 来自用户的输入 -> hello there dog cat hello cat book

vector 应该有 -> hello there dog cat book

我现在只有……

string s; 
vector <string> myVec; 

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

{code to sort vector}

【问题讨论】:

    标签: c++


    【解决方案1】:

    除了vector,您可以测试该词是否已经在std::set&lt;std::string&gt; 中,如果是则忽略它,否则将其插入两个容器中:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-06
      • 2018-09-09
      • 2015-09-15
      • 1970-01-01
      • 2021-12-12
      相关资源
      最近更新 更多