/*
STL中的交并补差集运算:
1.对于set,可随意使用,无特殊要求。
2. 对于vector等
a.元素必须按序排列
b.存放结果的vector必须在定义时指定容量大小 原因未知
*/
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
vector<int> vi;
vector<int> v2;
vi.push_back(5);
vi.push_back(1);
vi.push_back(3);
v2.push_back(1);
sort(vi.begin(),vi.end());
sort(v2.begin(),v2.end());
//vector<int> vresult; //错
vector<int> vresult(vi.size() + v2.size()); //必须指定大小
set_difference(vi.begin(),vi.end(),v2.begin(),v2.end(),vresult.begin());
cout<<"vreult=";
for(int i=0;i<vresult.size();i++)
cout<<vresult[i]<<" ";
cout<<endl;
return 0;
}
STL 交并补差
最新推荐文章于 2022-06-24 20:01:15 发布