#include <iostream>
#include <vector>
#include <algorithm>
int main() {
// 创建一个包含重复元素的向量
std::vector<int> vec = {1, 2, 2, 3, 3, 3, 4, 5, 5};
// 使用 unique 函数去除相邻的重复元素,注意 unique 只会将重复元素移到末尾,并返回新的逻辑终点迭代器
auto new_end = std::unique(vec.begin(), vec.end());
// 使用 erase 函数删除多余的元素,使向量只保留唯一的元素
vec.erase(new_end, vec.end());
// 输出结果
for (int num : vec) {
std::cout << num << " ";
}
return 0;
}
std::unique 函数用于移除容器中相邻的重复元素。它不会改变容器的大小,而是将重复的元素移到容器的末尾,并返回一个新的逻辑终点迭代器。vec.erase(new_end, vec.end()) 用于真正地从向量中删除这些多余的元素,从而确保向量中只保留唯一的元素。std::unique 和 erase 组合来实现去除向量中的重复元素。如果你需要进一步的帮助或有其他问题,请随时告诉我!
上一篇:c++ >>
下一篇:c++ getline函数用法
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站