list、stack 与 queue 的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011815404/article/details/86419939

【概述】

list、stack 和 queue 是在程序设计中经常会用到的数据容器,STL 提供了方便的链表、堆栈、队列的实现,准确地说,STL 中的 list、stack 与 queue 不同于 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 及以后的元素后移

【stack 的使用】

stack 定义在 <stack> 头文件中,其提供了堆栈的全部功能,即实现了先进后出的数据结构。

定义: stack<type> stackName

stack 的基本操作有:

  • s.push(x):将元素 x 入栈
  • s.pop():将栈顶元素删除
  • s.top():访问栈顶元素
  • s.empty():判断栈是否为空,当栈为空时返回 true,否则返回 false
  • s.size():访问栈中元素的个数

【queue 的使用】

queue 定义在 <queue> 头文件中,其提供了队列的全部功能,即实现了先进先出的数据结构。

定义:queue<type> queueName

queue 的基本操作有:

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

猜你喜欢

转载自blog.csdn.net/u011815404/article/details/86419939