2016-04-20 5 views
4

私は、ユーザがいくつかの文字列を入力するベクトルを持っています。私は、ユーザーが入力するが、重複する単語を削除する順序を維持したい。私がオンラインで見つけることができる唯一のものは並べ替えとユニークですが、私はベクトルを並べ替えることができないので、私は立ち往生しています。助けをありがとうございました。ベクトルで重複を削除する方法(ソートせずに)C++

e.x。ユーザーから 入力 - >こんにちは、犬が猫ハロー猫の本は

ベクトルを持っている必要があります - >こんにちは犬猫の本

が今私が持っているすべてがある...あなたのvectorと並ん

string s; 
vector <string> myVec; 

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

{code to sort vector} 

答えて

9

あなたが、もしそうなら、それを無視して、std::set<std::string>に単語が既にあるかどうかをテストすることができそうでない場合は、両方の容器にそれを挿入する:

while (cin >> s) 
    if (mySet.insert(s).second) // newly inserted in set? 
     myVec.push_back(s); 
関連する問題