链表合并
要点 链表是不能按照下标随机访问的 只能使用迭代器进行访问!
#include <bits/stdc++.h>
using namespace std;
int main(){
list<int> l1,l2;
int s1,s2;
scanf("%d",&s1);
int a;
for(int i=0;i<s1;++i){
scanf("%d",&a);
l1.push_back(a);
}
scanf("%d",&s2);
for(int i=0;i<s2;++i){
scanf("%d",&a);
l2.push_back(a);
}
list<int> l3(s1+s2);
list<int>::iterator it1,it2,it3;
it3=l3.begin();
for(it1=l1.begin(),it2=l2.begin();(it1!=l1.end())&&(it2!=l2.end());++it3){
if(*it1<=*it2){
*it3=*it1;
it1++;
}else{
*it3=*it2;
it2++;
}
}while(it1!=l1.end()){
*it3=*it1;
it1++;
it3++;
}while(it2!=l2.end()){
*it3=*it2;
it2++;
it3++;
}
for(it3=l3.begin();it3!=l3.end();++it3){
printf("%d ",*it3);
}
}