用set給vector去重

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

int main()
{
	vector<int>res;
	res = { 154,23,6,34,68,34,23,55,67 };
	set<int>tmp(res.begin(), res.end());
	res.assign(tmp.begin(), tmp.end());
	for (vector<int>::iterator it = res.begin(); it != res.end(); it++)
		cout << *it << " ";
    return 0;
}

stl是真的方便,set可以用來去重+排序。這個題目可以用set一下就實現了。
合併兩個有重複元素的數組,去掉重複元素且有序。

int main()
{
	vector<int>l1 = { 1,3,5,7,7,8,43,65,78,88 };
	vector<int>l2 = { 3,8,34,56,87,90 };
	set<int> res;
	for (vector<int>::iterator it = l1.begin(); it != l1.end(); it++)
		res.insert(*it);
	for (vector<int>::iterator it = l2.begin(); it != l2.end(); it++)
		res.insert(*it);
	for (set<int>::iterator it = res.begin(); it != res.end(); it++)
		cout << *it << " ";
	return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章