C++ STL list详解

一.解释:

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

二.常用操作:

1.头文件

#include<list>

2.定义

list<string>  test; //定义一个string类型的list

3.常用函数

push_front(x):把元素x推入(插入)到链表头部
push_back(x):把元素x推入(插入)到双向队列的尾部
pop_front():弹出(删除)双向队列的第一个元素
pop_back():弹出(删除)双向队列的最后一个元素
begin():返回向量中第一个元素的迭代器
clear(): 清空list中的所有元素。
empty():利用empty() 判断list是否为空。
front(): 获得list容器中的头部元素
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

}

原文链接: https://www.cnblogs.com/aiguona/p/7231609.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/257369

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月14日 上午10:49
下一篇 2023年2月14日 上午10:49

相关推荐