zoukankan      html  css  js  c++  java
  • 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
    
    }
  • 相关阅读:
    干货分享!用户级爬虫,怎敢封IP
    一篇就够,网站数据提取,数据使用
    scrapy 解决爬虫IP代理池,数据轻松爬。
    使用代理ip的作用是什么?
    爬虫工作怎样选择代理ip
    爬取VIP视频
    python爬虫数据追加至excel中
    使用geany编辑器时python输出中文问题
    在Windows系统中从终端运行Python程序
    Windows 安装 Python 及配置环境变量
  • 原文地址:https://www.cnblogs.com/aiguona/p/7231609.html
Copyright © 2011-2022 走看看