题目:
自己写的stdc++库版:
关键词:
实验了:尾插入,排序,迭代器,auto ,迭代器while遍历
代码:
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main(){
list<int>A,B,C;
int m,n,a_tem,b_tem,c_tem;
cin>>m>>n;
for(int i=0;i<m;i++)
{
cin>>a_tem;
A.push_back(a_tem);
}
for(int i=0;i<n;i++)
{
cin>>b_tem;
B.push_back(b_tem);
}
A.sort();
B.sort();
auto p_a=A.begin(),p_b=B.begin(),p_a_end=A.end(),p_b_end=B.end(),p_c=C.begin(),p_c_end=C.end();
while(p_a!=p_a_end)cout<<*(p_a++)<<endl;
p_a=A.begin();
while(p_a!=p_a_end&&p_b!=p_b_end)//走a 3 3 2 3 1 5 6 4 3 3 1 2 3 1 2 5
{
// if(*p_a==*p_b)
// {
// c_tem=*(p_a++);
// *(p_b++);}
c_tem=(*(p_a )>= *(p_b )? *(p_b++ ): *(p_a++) );
C.push_back(c_tem);
cout<<*(++p_c)<<endl;
}
while(p_a!=p_a_end)
{
c_tem=*(p_a++);
C.push_back(c_tem);
}
while(p_b!=p_b_end)
{
c_tem=*(p_b++);
C.push_back(c_tem);
cout<<*(++p_c)<<endl;
}
//
// while(p_c!=p_c_end)cout<<*(p_c++)<<endl;
//
//int ar[10]={6,65,73,32,34,34,2,1,67,8};
//sort(ar,ar+10);
//int i=0;
//while(i!=10){
// cout<<ar[i++]<<endl;
}
参考资料:
c语言网《list容器》
C++ list(STL list)增加和插入元素详解(insert成员函数插入元素)
C++中sort函数小结
csdn《c++ auto基本用法》
std::List类的遍历获得元素的操作二法
C++ 指针常量、常量指针和常指针常量