美文网首页
STL学习笔记(二)

STL学习笔记(二)

作者: 风之旅人c | 来源:发表于2018-07-23 10:10 被阅读0次

    双向链表:List

    定义

    List是一个线性链表结构,它的数据由若干个节点构成,每一个节点都包括一个信息块(即实际存储的数据)、一个前驱指针和一个后驱指针。它无需分配指定的内存大小且可以任意伸缩,这是因为它存储在非连续的内存空间中,并且由指针将有序的元素连接起来。

    List的声明

    头文件
    #include <list>
    using namespace std;
    
    声明
    list<int>lst1;             //创建空list
    list<int> lst2(5);        //创建含有5个元素的list
    list<int>lst3(3,2);      //创建含有3个元素的list
    list<int>lst4(lst2);     //使用lst2初始化lst4
    list<int>lst5(lst2.begin(),lst2.end());  //同lst4
    

    List的操作

    输入输出操作

    利用迭代器

    #include <list>
    #include <iostream>
    using namespace std;
    int main()
    {
        list<int> lst1;
        lst1.push_back(1);
        lst1.push_back(2);
        lst1.push_back(3);
        lst1.push_back(1);
    
    
        for(list<int>::const_iterator iter = lst1.begin(); iter != lst1.end(); iter++)
        {
            cout<<*iter;
        }
        cout<<endl;
        return 0;
    }
    
    其他操作
    Lst1.assign() 给list赋值 
    Lst1.back() 返回最后一个元素 
    Lst1.begin() 返回指向第一个元素的迭代器 
    Lst1.clear() 删除所有元素 
    Lst1.empty() 如果list是空的则返回true 
    Lst1.end() 返回末尾的迭代器 
    Lst1.erase() 删除一个元素 
    Lst1.front() 返回第一个元素 
    Lst1.get_allocator() 返回list的配置器 
    Lst1.insert() 插入一个元素到list中 
    Lst1.max_size() 返回list能容纳的最大元素数量 
    Lst1.merge() 合并两个list 
    Lst1.pop_back() 删除最后一个元素 
    Lst1.pop_front() 删除第一个元素 
    Lst1.push_back() 在list的末尾添加一个元素 
    Lst1.push_front() 在list的头部添加一个元素 
    Lst1.rbegin() 返回指向第一个元素的逆向迭代器 
    Lst1.remove() 从list删除元素 
    Lst1.remove_if() 按指定条件删除元素 
    Lst1.rend() 指向list末尾的逆向迭代器 
    Lst1.resize() 改变list的大小 
    Lst1.reverse() 把list的元素倒转 
    Lst1.size() 返回list中的元素个数 
    Lst1.sort() 给list排序 
    Lst1.splice() 合并两个list 
    Lst1.swap() 交换两个list 
    Lst1.unique() 删除list中重复的元素
    

    相关文章

      网友评论

          本文标题:STL学习笔记(二)

          本文链接:https://www.haomeiwen.com/subject/kerdmftx.html