set_difference set_intersection

View Code
#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
#define PB push_back
#define ALL(c) c.begin(), c.end()
#define B begin()
#define E end()
vector <int> a, b, c, d;
vector <int>::iterator it;
int main()
{
    int i;
    for(i = 1; i <= 10; i++)
        a.PB(i);
    for(i = 5; i <= 10; i++)
        b.PB(i);
    c.resize(10);
    int len = set_difference(ALL(a), ALL(b), c.B) - c.B; // a有 b没有
    c.resize(len);
    d.resize(10);
    len = set_intersection(ALL(a), ALL(b), d.B) - d.B; // 交集
    d.resize(len);
    for(it = c.B; it != c.E; it++)
        cout << *it << endl;
    for(it = d.B; it != d.E; it++)
        cout << *it << endl;
}

 

posted @ 2013-01-17 12:48  To be an ACMan  Views(183)  Comments(0)    收藏  举报