当前位置:   article > 正文

C++ STL list详解_c++弹出list头元素

c++弹出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容器的最后一个元素。


使用示例

  1. #include <iostream>
  2. #include <string>
  3. #include <list>
  4. using namespace std;
  5. typedef list<string> LISTSTR;
  6. int main()
  7. {
  8. LISTSTR test;
  9. test.push_back("back"); //back
  10. test.push_front("middle"); //middle back
  11. test.push_front("front"); //front middle back
  12. cout<<test.front()<<endl; //front
  13. cout<<*test.begin()<<endl; //front
  14. cout<<test.back()<<endl; //back
  15. cout<<*(test.rbegin())<<endl; //back
  16. test.pop_front(); //middle back
  17. test.pop_back(); //middle
  18. cout<<test.front()<<endl; //middle
  19. cout<<test.empty()<<endl; //False
  20. cout<<test.size()<<endl; //1
  21. return 0;
  22. }

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


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/440438
推荐阅读
相关标签
  

闽ICP备14008679号