首页 > 技术文章 > unique() 函数详解

woxiaosade 2019-08-23 21:55 原文

简介

顾名思义,unique,独一无二的。这个函数可以对容器中的元素进行“去重”。
但是需要注意,这里的“去重”,并没有把重复的元素删除,只是不重复的元素放到了前面

  1. 函数的第一个参数是,容器元素的首地址;函数的第二个参数是,容器元素的尾地址
  2. 函数的返回值是“去重”后的尾地址

unique()只能用于有序序列

具体使用

简单实用

	vector<int> v;
	v.push_back(1), v.push_back(1), v.push_back(2), v.push_back(3);
	int pos = unique(v.begin(), v.end()) - v.begin();
	cout << pos << endl; // 3

搭配vector.erase()实现真正的去重

	vector<int> v;
	v.push_back(1), v.push_back(1), v.push_back(2), v.push_back(3);
	v.erase(unique(v.begin(), v.end(), v.end()));

推荐阅读