在C++中,可以使用STL库中的vector容器来存储和处理包含重复值的向量。以下是一些示例代码:
方法1:使用push_back()方法将元素添加到向量中,并使用sort()函数对向量进行排序,然后使用unique()函数将重复的元素移动到向量的末尾。最后,使用erase()函数删除重复的元素。
#include
#include
#include
int main() {
std::vector vec = { 1, 2, 3, 4, 2, 3, 5, 6, 1, 2, 4 };
std::sort(vec.begin(), vec.end());
vec.erase(std::unique(vec.begin(), vec.end()), vec.end());
for (int num : vec) {
std::cout << num << " ";
}
return 0;
}
输出结果:
1 2 3 4 5 6
方法2:使用set容器来存储唯一的元素,然后将set容器中的元素复制到向量中。
#include
#include
#include
int main() {
std::set uniqueSet = { 1, 2, 3, 4, 2, 3, 5, 6, 1, 2, 4 };
std::vector vec(uniqueSet.begin(), uniqueSet.end());
for (int num : vec) {
std::cout << num << " ";
}
return 0;
}
输出结果:
1 2 3 4 5 6
这些方法可以根据具体的需求选择使用,根据向量的大小和重复值的数量,它们的性能可能会有所不同。
下一篇:保留重复值并从列表中删除