zoukankan      html  css  js  c++  java
  • STL--set_difference

    set_difference(),作用是求两个集合的差。即求A-B(属于A但不属于B的元素)

    set_difference()算法计算两个集合[start1, end1)和[start2, end2)的差集, 并将差集存放到result. 

    两个集合以序列的形式给出, 且必须先按升序排好位置. 

    set_difference()是一个指向result序列末尾的迭代器. 

    #include <iostream>
    #include <algorithm>
    #include <vector>
    using namespace std;
    int a[100],b[100];
    
    int main(){
        int n,m;
        while(scanf("%d%d",&n,&m))
        {
            if(n == 0 && m == 0)
                break;
            int i;
            for(i = 0;i < n;i++)
                scanf("%d",&a[i]);
            for(i = 0;i < m;i++)
                scanf("%d",&b[i]);
            sort(a,a + n);
            sort(b,b + m);
            vector<int> v(100);
            vector<int>::iterator it;
            it = set_difference(a,a + n,b,b + m,v.begin());
            v.resize(it-v.begin());
            if(v.size() == 0)
                cout<<"NULL"<<endl;
            else
            {
                for(it = v.begin(); it != v.end(); it++)
                    cout<<*it<<" ";
                cout<<endl;
            }
    
        }
        return 0;
    }

  • 相关阅读:
    iBatis,第二次亲密接触
    微斯人,吾谁与归
    一个月了
    生命在于运动
    眼皮跳了好几天
    往返
    中病毒,学习批处理

    爱如潮水
    今天夏至
  • 原文地址:https://www.cnblogs.com/cc-xiao5/p/8625107.html
Copyright © 2011-2022 走看看