List详解

List详解:

  1.List赋值

  2.基本成员函数

  3.merge合并

  4.remove删除

  5.splice插入

  6.unique去重

 

List赋值:

#include <iostream>
#include <list>
using namespace std;
int main () {
    //构造函数
    int v_b[10]={1,2,3,4,5,6};
    list<int> list_b(v_b,v_b+10);
    list<int> list_b(100,1);         // 100个值为1的元素
    return 0;

 

基本成员函数 :

    list<int> list_a;
    int a,b,c,d;
    int v_a[10]={1,2,3,4};
    scanf("%d%d%d%d",&a,&b,&c,&d);
    list_a.push_back(a);  
    list_a.push_front(b);
    cout<<list_a.front()<<" "<<list_a.back()<<endl;
    list_a.pop_front();     
    list_a.pop_back();
    cout<<list_a.size()<<endl;
    list_a.insert(list_a.begin(),v_a+1,v_a+3);
    cout<<list_a.size();
    for(list<int>::iterator it=list_a.begin();it!=list_a.end();it++)
        cout<<*it<<" ";
    cout<<endl;
    list_a.erase(list_a.begin(),list_a.end());
    for(list<int>::iterator it=list_a.begin();it!=list_a.end();it++)
        cout<<*it<<" ";
    cout<<endl;
    //基本成员函数 

 

merge合并 :

    list<int> list_c(10,1),list_d(10,2);//没有等于号 
    list_c.push_back(100);
    list_c.push_front(100);
    list_d.merge(list_c);    
    for(list<int>::iterator it=list_d.begin();it!=list_d.end();it++)
        cout<<*it<<" ";
    cout<<endl;
    for(list<int>::iterator it=list_c.begin();it!=list_c.end();it++)
        cout<<*it<<" ";    
    //merge合并  若A,B为有序,C也为有序,若A,B为无序,C也为无序,llistb完后为空

 

remove删除:

    list<int> list_e(10,1);
    list_e.remove(1);
    for(list<int>::iterator it=list_e.begin();it!=list_e.end();it++)
        cout<<*it<<" ";
    //remove删除  O(1) 删除  .remove(2) 把二全删除

 

splice插入:

    list<int> list_f(10,1),list_g(10,2); 
    list_f.splice(list_f.begin(),list_g);
    for(list<int>::iterator it=list_f.begin();it!=list_f.end();it++)
        cout<<*it<<" ";
    //splice链表插入 位置需要指针,迭代器只能++,--, 不能直接+1等常数 

 

unique去重:

    list<int> list_h(10,1);
    list_h.unique();
    for(list<int>::iterator it=list_h.begin();it!=list_h.end();it++)
        cout<<*it<<" ";
    //unique连续元素压缩为单个元素,将其删除,大小减小

 

posted @ 2019-02-12 19:26  SeanOcean  阅读(273)  评论(0编辑  收藏  举报