排序并去重操作

排序并去重操作_第1张图片

#include
#include
#include
using namespace std;
using ll = long long;
vector a;

int main()
{
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	int n; cin >> n;
	for (int i = 0; i < n; ++i)
	{
		int x; cin >> x;
		a.push_back(x);
	}
	sort(a.begin(), a.end());//1 1 2 2 3 5
	//必须sort之后才能unique
	//unique  1 2 3 5 1 2 并不是删除而是放到vector后面
	//unique返回第一个重复元素的位置也就是迭代器
	a.erase(unique(a.begin(), a.end()),a.end());
	for (auto &i : a) cout << i << ' ';//比auto i快一些因为不用创建临时变量

	return 0;
}

你可能感兴趣的:(数据结构,算法,c++)