分别用STL的三个模板来处理:1.求交集set_intersection()2.求并集set_union()3.求余集set_difference() #include <iostream> #include <cstdlib> #include <string> #include <cmath> #include <algorithm> #include <iterator> #include <numeric> #include <vector> #include <sstream> #include <deque> using namespace std; int main(void){ int n,num,m; vector<int> v; cin>>n; for(int i=0;i<n;i++) { cin>>num; v.push_back(num); } vector<int> q; cin>>m; for(int i=0;i<m;i++) { cin>>num; q.push_back(num); } sort(v.begin(),v.end()); sort(q.begin(),q.end()); vector<int>::iterator lt; vector<int> t(q.size()+v.size()); lt=set_intersection(v.begin(),v.end(),q.begin(),q.end(),t.begin()); copy(t.begin(),lt,ostream_iterator<int>(cout," ")); cout<<endl; t.clear(); lt=set_union(v.begin(),v.end(),q.begin(),q.end(),t.begin()); copy(t.begin(),lt,ostream_iterator<int>(cout," ")); cout<<endl; t.clear(); lt=set_difference(v.begin(),v.end(),q.begin(),q.end(),t.begin()); copy(t.begin(),lt,ostream_iterator<int>(cout," ")); return 0; }
解题思路:
注意事项:
参考代码:
0.0分
0 人评分
C语言训练-斐波纳契数列 (C语言代码)浏览:826 |
C语言训练-谁家孩子跑最慢* (C语言代码)浏览:1544 |
数组输出 (C语言代码)浏览:811 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:511 |
买不到的数目 (C++代码)浏览:909 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:932 |
简单的a+b (C语言代码)浏览:564 |
Pascal三角 (C语言代码)格式错误浏览:551 |
母牛的故事 (C语言代码)浏览:992 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1015 |