zoukankan      html  css  js  c++  java
  • 集合运算 蓝桥杯 set容器

    题目描述

      给出两个整数集合A、B,求出他们的交集、并集以及B在A中的余集。

    输入格式

      第一行为一个整数n,表示集合A中的元素个数。
      第二行有n个互不相同的用空格隔开的整数,表示集合A中的元素。
      第三行为一个整数m,表示集合B中的元素个数。
      第四行有m个互不相同的用空格隔开的整数,表示集合B中的元素。
      集合中的所有元素均为int范围内的整数,n、m<=1000。

    输出

      第一行按从小到大的顺序输出A、B交集中的所有元素。
      第二行按从小到大的顺序输出A、B并集中的所有元素。
      第三行按从小到大的顺序输出B在A中的余集中的所有元素。

    样例输入

    5
    1 2 3 4 5
    5
    2 4 6 8 10
    4
    1 2 3 4
    3
    5 6 7

    样例输出

    2 4
    1 2 3 4 5 6 8 10
    1 3 5
    1 2 3 4 5 6 7 
    1 2 3 4

    空格:每个数之后都有,不必控制,注意b中没有元素也要占一行;

     1 #include <iostream>
     2 #include <algorithm>
     3 #include <set>
     4 using namespace std;
     5 int a[1000],b[1000];
     6 int main()
     7 {
     8     int m,n,len1,len2,k,i;
     9     while(cin>>n)
    10     {
    11         len1=0;len2=0;
    12         set< int >mm;
    13         set< int >::iterator it;
    14         for(i=0;i<n;i++)
    15         {
    16            cin>>a[i];
    17            mm.insert(a[i]);
    18         }
    19         cin>>m;
    20         for(i=0;i<m;i++)
    21         {
    22             len2=mm.size();
    23             cin>>k;
    24             mm.insert(k);
    25             if(mm.size()==len2)//检查是否存在相同的元素,
    26             {b[len1]=k;len1++;}//存在的话存到另外一个数组中
    27         }
    28         sort(b,b+len1);
    29         for(i=0;i<len1;i++)
    30         {
    31              cout<<b[i]<<" ";
    32         }
    33         cout<<endl;//注意:即使b中没有元素也要换行
    34     for(it = mm.begin(); it != mm.end(); ++it)
    35             cout<<*it<<" ";//按顺序输出,元素
    36             cout<<endl;
    37             sort(a,a+n);
    38              int j=0,kkk=0;//
    39             for(i=0; i<n; i++)
    40             {
    41                 if(len1==0)
    42                       cout<<a[i]<<" ";
    43                 else
    44                 {
    45                     /////不知道为什么下次输入的时候b中的元素还存在,
    46                    // 所以换了个方法控制相同的元素
    47                          if(a[i]!=b[j])
    48                                 cout<<a[i]<<" ";
    49                          else j++;
    50                 }
    51             }
    52             cout<<endl;
    53     }
    54         return 0;
    55 }
  • 相关阅读:
    HDFS详解(3)——HDFS文件结构
    HDFS详解(1)
    MapReduce工作机制
    Hadoop体系结构
    Hadoop 项目及结构
    (转)Hadoop生态系统
    Hadoop配置参数
    HDFS详解(2)——HDFS中的读写数据流
    Yarn(MapReduce V2)
    与或非实习day02
  • 原文地址:https://www.cnblogs.com/lovychen/p/3608143.html
Copyright © 2011-2022 走看看