STL中的queue,stack和priority_queue的基本操作

STL = Standard Template Library,标准模板库,惠普实验室开发的一系列软件的统称。

它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。这可能是一个历史上最令人兴奋的工具的最无聊的术语。STL实际上是一个非常有用的工具,它使你避免了许多重复的编码工作,大大提高了编码效率。比如,当你需要使用一个队列时,根本不需要自己重新写一个队列,你仅仅需要在头文件中包含,然后在程序中对其类模板进行实例化,就可以使用了,是不是很方便!!!

从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件。STL现在是C++的一部分,因此不用额外安装什么,实际上STL被内建在你的编译系统之内了。本文主要介绍stl中的容器适配器(container adapter)的基本操作。

容器适配器包含队列(queue)、栈(stack)和优先级队列(priority_queue)。

队列容器(queue)

支持先进先出(FIFO)模式的数据存取;需包含头文件。

基本操作描述
T & back();返回最后一个元素
bool empty();如果队列空,则返回真
T & front();返回第一个元素
void pop();删除第一个元素
void push(const T & val);在末尾加入一个元素
size_type size();返回队列中元素的个数
栈容器(stack)

支持先进后出(FILO)模式的数据存取;需包含头文件。

基本操作描述
== <= >= < > !=比较栈
bool empty();栈为空则返回真
void pop();移除栈顶元素
void push(const T & val);在栈顶增加元素
size_type size();返回栈中元素的数目
T & top();返回栈顶元素
优先级队列容器(priority_queue)

每次从队列中取出的应是具有最高优先级(priority)的元素,而优先级则与每一个元素的值(value)相关联;需包含头文件。

基本操作描述
bool empty();如果优先队列为空,则返回真
void pop();删除第一个元素
void push(const T & val);加入一个元素
size_type size();返回优先队列中拥有的元素的个数
T & top();返回优先队列中有最高优先级的元素
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值