Description 已知va和vb分別為非遞減有序線性表,將va和vb進行合併為新的線性表vc,並保持vc仍然非遞減有序。 本題中,線性表元素為整數。線性表的最大長度為1000。 Input 輸入數據有多組,第一行為測試數據的組數t,接下來為2t行,每一組測試數據有兩行: 第一行的第一個數為va ...
Description
已知va和vb分別為非遞減有序線性表,將va和vb進行合併為新的線性表vc,並保持vc仍然非遞減有序。
本題中,線性表元素為整數。線性表的最大長度為1000。
Input
輸入數據有多組,第一行為測試數據的組數t,接下來為2t行,每一組測試數據有兩行:
第一行的第一個數為va的元素個數n,後面是n個整數,代表va的所有元素
第二行的第一個數為vb的元素個數m,後面是m個整數,代表vb的所有元素
Output
輸出合併後的長度以及vc的所有元素
Sample input
2
2 1 2
2 2 3
3 1 2 3
3 4 5 6
Sample output
4 1 2 2 3
6 1 2 3 4 5 6
#include<vector> #include<iostream> #include<cstring> #include<algorithm> using namespace std; int main() { vector<int> v1,v2,v3; vector<int>::iterator it; int t,n,m,a,s; cin>>t; while(t--) { s=0; cin>>n; s+=n; while(n--) { scanf("%d",&a); v1.push_back(a); } cin>>m; s+=m; while(m--) { scanf("%d",&a); v2.push_back(a); } v3.insert(v3.end(),v1.begin(),v1.end()); //v1插入v3 v3.insert(v3.end(),v2.begin(),v2.end()); //v2插入v3 sort(v3.begin(),v3.end()); //vector排序 cout<<s; for(it=v3.begin();it!=v3.end();it++) { cout<<" "<<*it; } v1.clear(); v2.clear(); v3.clear(); cout<<endl; } }