#include "iostream"
#include "vector"
#include "list"
using namespace std;
int main()
{
    list<int>la={8,2,6,4,5};
    for (auto &val:la)
        cout<<val<<" ";
    cout<<endl;
    la.reverse();//反转链表、
    for ( auto &val:la)
        cout<<val<<" ";
    cout<<endl;
    la.sort();
    for ( auto &val:la)
        cout<<val<<" ";
    cout<<endl;
    list<int>lb={3,7,9,10,1};
    lb.sort();//链表排序
    la.merge(lb);//归并链表。
    for (auto &val:la)
        cout<<val<<" ";
    cout<<endl;
    list<int>lc={8,2,6,4,5};
    for (auto &val:lc)
        cout<<val<<" ";
    cout<<endl;
    list<int>ld={3,7,9,10,1};
    for (auto &val:ld)
        cout<<val<<" ";
    cout<<endl;
    auto first=ld.begin();
    first++;
    auto last=ld.end();
    last--;
    lc.splice(lc.begin(),ld,first,last);
    for (auto &val:lc)cout<<val<<" ";
    cout<<endl;
    cout<<"ld.size()="<<ld.size()<<endl;
    for (auto &val:ld)
        cout<<val<<" ";
    cout<<endl;
    list<int>lf={8,2,2,2,2,3,6,2,3,46,7,7,7,3,5};
    for (auto &val:lf) cout<<val<<" ";
    cout<<endl;
    lf.remove(3);
    for (auto &val:lf)
        cout<<val<<" ";
    cout<<endl;
    lf.unique();//删除链表中相邻的重复元素,只保留一个
    for (auto &val:lf) cout<<val<<" ";
    cout<<endl;
}
输出:
8 2 6 4 5
5 4 6 2 8
2 4 5 6 8
1 2 3 4 5 6 7 8 9 10
8 2 6 4 5
3 7 9 10 1
7 9 10 8 2 6 4 5
ld.size()=2
3 1
8 2 2 2 2 3 6 2 3 46 7 7 7 3 5
8 2 2 2 2 6 2 46 7 7 7 5
8 2 6 2 46 7 5

发表回复