C++ STL list详解

写这个博客专栏就是为了以后备用。


简介

        list是一种序列式容器。list容器完成的功能实际上和数据结构中的双向链表是极其相似的,list中的数据元素是通过链表指针串连成逻辑意义上的线性表,list不仅是一个双向链表,而其还是一个环状双向链表。所以它只需要一个指针,便可以完整实现整个链表。list有一个重要性质:插入操作(insert)和合并操作(splice)都不会 造成原有的list迭代器失效。甚至 list的元素删除操作(erase)也只有“指向被删除元素”的那个迭代器失效,其他迭代器不受任何影响。


使用说明

头文件

#include <list>

#include <string>

常用函数

void push_front(std::string x):把元素x推入(插入)到链表头部
void push_back(std::string x):把元素x推入(插入)到双向队列的尾部
void pop_front():删除双向队列的第一个元素
void pop_back():删除双向队列的最后一个元素
begin():返回向量中第一个元素的迭代器
void clear(): 清空list中的所有元素。
int empty():利用empty() 判断list是否为空。
std::string front(): 获得list容器中的头部元素
std::string back(): 获得list容器的最后一个元素。


使用示例

#include <iostream>
#include <string>
#include <list>
using namespace std;
typedef list<string> LISTSTR;
int  main()
{
    LISTSTR test;

    test.push_back("back");                         //back
    test.push_front("middle");                      //middle back
    test.push_front("front");                       //front  middle back

    cout<<test.front()<<endl;                       //front
    cout<<*test.begin()<<endl;                      //front
    cout<<test.back()<<endl;                        //back
    cout<<*(test.rbegin())<<endl;                   //back
    test.pop_front();                               //middle back
    test.pop_back();                                //middle
    cout<<test.front()<<endl;                       //middle

    cout<<test.empty()<<endl;                       //False
    cout<<test.size()<<endl;                        //1

    return 0;
}

         这个例子呢,在其他博主的基础上加了点。后边的注释是运行结果。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星羽空间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值