生成结果的升降序应该是这样的:
一、若原链表升序,则merge(l2)或merge(l2,less()),后合并的链表升序
#include <iostream>
#include <list>
using namespace std;
//升序
int main()
{
list<int> l1;
list<int> l2={2,7};
list<int>::iterator iter;
l1.push_back(1);
l1.push_back(8);
l2.push_back(9);
l1.merge(l2,less<int>());
for(iter = l1.begin() ; iter != l1.end() ; iter++)
{
cout<<*iter<<" ";
}
cout<<endl<<endl;
return 0;
}
二、若原链表降序,则只有merge(l2,greater()),后合并的链表降序
#include <iostream>
#include <list>
using namespace std;
//降序
int main()
{
list<int> l1;
list<int> l2={8,2};
list<int>::iterator iter;
l1.push_back(7);
l1.push_back(6);
l2.push_back(1);
l1.merge(l2,greater<int>());
for(iter = l1.begin() ; iter != l1.end() ; iter++)
{
cout<<*iter<<" ";
}
cout<<endl<<endl;
return 0;
}