C++语言基础 —— STL —— 容器与迭代器 —— list 与 deque

【概述】

list 与 deque 是在程序设计中会用到的数据容器,STL 提供了方便的链表、双端队列的实现,准确地说,STL 中的 list 与 deque 不同于 pair、vector 等容器,而是对列表和双端队列这两个数据结构的重新包装。

【list 的使用】

list 定义在 <list> 头文件中,其提供了双链表的全部功能,即是一个线性链表结构,无需分配内存且可任意伸缩。

定义:list<type> listName

  • l.front():访问列表首元素
  • l.back():访问列表尾元素
  • l.empty():判断列表是否为空,当列表为空时返回 true,否则返回 false
  • l.size():访问列表中元素的个数
  • l.begin():返回指向第一个元素的迭代器
  • l.end():返回指向最后一个元素之后的迭代器
  • l.erase(it):删除迭代器 it 所指元素并返回下一元素迭代器
  • l.erase(it_begin,it_end):删除迭代器 [it_begin,it_end] 区间的元素并返回最后一个被删除的元素的下一元素迭代器
  • l.insert(it,value):在迭代器 it 位置插入一个值为 value 的元素并返回其迭代器,原 it 及以后的元素后移
  • l.insert(it,num,value):在迭代器 it 位置插入 num 个值为 value 的元素并返回其迭代器,原 it 及以后的元素后移

【deque 的使用】

deque 定义在 <deque> 头文件中,是一种具有队列和栈的性质的数据结构,双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。

定义:deque<type> dequeName

deque 的基本操作有:

  • q.push_back(x):入队,将 x 存入队列末端
  • q.push_front(x):入队,将 x 存入队列首端
  • q.pop_back():出队,将队列的末端元素弹出
  • q.pop_front():出队,将队列的首段元素弹出
  • q.front():访问队首元素
  • q.back():访问队尾元素
  • q.empty():判断队列是否为空,当队列为空时返回 true,否则返回 false
  • q.size():访问队列中元素的个数

 

posted @ 2022-09-20 23:00  老程序员111  阅读(92)  评论(0编辑  收藏  举报