在C++中,std::set
是一個關聯容器,它會自動存儲唯一元素,不允許重復。因此,在大多數情況下,您不需要執行任何特殊操作來去重。如果您有一個包含重復元素的std::vector
或其他容器,您可以將其轉換為一個std::set
,從而自動去除重復元素。以下是一個示例:
#include <iostream>
#include <vector>
#include <set>
int main() {
std::vector<int> vec = {1, 2, 2, 3, 4, 4, 5};
// 將向量轉換為集合,從而自動去除重復元素
std::set<int> s(vec.begin(), vec.end());
// 輸出集合中的元素
for (int num : s) {
std::cout << num << " ";
}
return 0;
}
輸出結果:
1 2 3 4 5
在這個示例中,我們首先創建了一個包含重復元素的std::vector
。然后,我們使用std::set
的構造函數將向量轉換為一個集合。這將自動去除重復元素。最后,我們遍歷集合并輸出其元素。