C++ unique函数解析

std::unique 是 C++ STL 头文件中的一个算法,用于移除相邻的重复元素,并返回去重后新序列的结束迭代器。它不会真正删除元素,而是将不重复的元素移动到前面,重复的元素被覆盖在容器末尾,需要配合 erase 才能真正删除。

示例:去除 vector 中的重复元素

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
vector<int> nums = {1, 4, 2, 7, 2, 4, 4};

// 先排序,保证相同元素相邻
sort(nums.begin(), nums.end());

// unique 返回去重后的新末尾迭代器
auto new_end = unique(nums.begin(), nums.end());

// 使用 erase 真正删除多余元素
nums.erase(new_end, nums.end());

for (int n : nums) cout << n << " ";
return 0;
}
posted @ 2026-05-26 16:56  韩熙隐ario  阅读(7)  评论(0)    收藏  举报