hdu1412.集合并集
![[Pasted image 20241030150843.png]]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
fstream infile("in.txt");
int n,m;
infile>>n>>m;
vector<int>vec1(n);
vector<int>vec2(m);
vector<int>vec3(n+m+1);
vec3[n+m]=0;
vector<int>result(n+m);
for(int i=0;i<vec1.size();i++){
infile>>vec1[i];
}
for(int i=0;i<vec2.size();i++){
infile>>vec2[i];
}
for(int i=0;i<n;i++){
vec3[i]=vec1[i];
}
int j=0;
for(int i=n;i<n+m;i++){
vec3[i]=vec2[j];
j++;
}
sort(vec3.begin(),vec3.end(),greater<int>());
for(int i=0;i<n+m;i++){
if(vec3[i]!=vec3[i+1]){
result[result.size()-1-i]=vec3[i];
}
}
for(int i=0;i<result.size();i++){
if(result[i]!=0){
cout<<result[i]<<" ";
}
}
return 0;
}
**使用vector的排序算法sort,必须包含
<algorithm>
文件sort 默认是升序的,不必写第三个参数,即
sort(vec3.begin(),vec3.end())
即可;
如果想降序排序,就把第三个参数换成greater<int>()
:1
sort(vec3.begin(),vec3.end(),greater<int>());
This post is licensed under CC BY 4.0 by the author.