我有一個存儲在其中的重複單詞的向量。我如何刪除重複項?例如:如果矢量有apple, orange, pear, apple, grape, grape
,我希望它只有apple, orange, pear, grape
。我嘗試使用unique
,但它沒有奏效。我做錯了嗎?如何從矢量中刪除重複的單詞?
0
A
回答
4
使用std ::排序和擦除:
std::sort(v.begin(), v.end());
v.erase(std::unique(v.begin(), v.end()), v.end());
如果你想保存元素的順序,你可以使用std::remove_if
和std::set
保存獨特的元素:
template <typename T>
void remove_dups_from_vector(std::vector<T> &v)
{
std::set<T> unique_elements;
v.erase(std::remove_if(v.begin(), v.end(),
[&](const T &value) {
return !unique_elements.insert(value).second;
})
, v.end());
}
+0
漂亮華麗的男人! –
+0
有沒有可能沒有排序?我正在閱讀文件中的內容,並且想跟蹤它們出現的順序 – agentR12994
+0
是的。你可以'std :: remove_if'和'std :: set'來保存獨特的元素。更新了答案。 – malchemist
相關問題
- 1. 如何從矢量<Rect>中刪除重複的矩形?
- 2. 如何從矢量中刪除重複的元素?
- 3. 如何從Java中的單詞中刪除重複的字母
- 4. 如何從java中的數組中刪除重複的單詞
- 5. 如何從ant中的文件中刪除重複的單詞?
- 6. 如何從數組中刪除重複的單詞?
- 7. 刪除地址中的重複單詞
- 8. 如何刪除矢量中的重複字符串/數據?
- 9. 如何從矢量中刪除數字?
- 10. 如何從矢量中刪除元素?
- 11. 刪除單詞文檔中重複的相鄰單詞
- 12. 如何刪除重複的單詞在字符串中的MATLAB
- 13. 刪除重複的單詞mysql concat_ws
- 14. 從矢量中刪除所有重複值?
- 15. 從C中的字符串中刪除重複單詞C
- 16. 從字符串中刪除重複的單詞在C#
- 17. 如何從矢量中刪除唯一值並保留重複項
- 18. 如何從.txt中刪除單詞
- 19. 如何從wordcloud中刪除單詞?
- 20. 如何刪除單詞的最後一個重複的字母
- 21. 如何查找要從矢量中刪除的值,並從輔助矢量中刪除相同的位置?
- 22. 如何從謂詞對象中刪除重複項?
- 23. 如何在單詞超過2億時使用Java刪除重複的單詞?
- 24. 從文本文件中刪除重複單詞
- 25. 如何使用java刪除重複的單詞
- 26. Gnuplot:如何從矢量場中刪除一定數量級以下的矢量?
- 27. 從矢量和QVBoxLayout刪除
- 28. 從NSString中刪除單詞
- 29. R:如何從矢量中刪除另一個矢量中的術語?
- 30. 刪除excel單元格列中的重複單詞
郵報,沒碼不起作用,我們無法推斷您的文本中的錯誤代碼 – EdChum
[Sort](http://en.cppreference.com/w/cpp/algorithm/sort)向量,然後[刪除連續的重複項](http: //en.cppreference.com/w/cpp/algorithm/unique)。 –