C++ STL stack和queue

C++ STL中独立的序列式容器只有vector,list,deque三种,stack和queue其实就是使用容器适配器对deque进行了封装,使用了新接口。

使用标准库的栈和队列时,先包含相关的头文件

#include<stack>

#include<queue>

定义栈如下:

stack<int> stk;

定义队列如下:

queue<int> q;

栈提供了如下的操作

  1. s.empty()             如果栈为空返回true,否则返回false 
  2. s.size()                返回栈中元素的个数 
  3. s.pop()                 删除栈顶元素但不返回其值 
  4. s.top()                 返回栈顶的元素,但不删除该元素 
  5. s.push()                在栈顶压入新元素 

队列提供了如下的操作

  1. q.empty()             如果队列为空返回true,否则返回false 
  2. q.size()                返回队列中元素的个数 
  3. q.pop()                 删除队列首元素但不返回其值 
  4. q.front()               返回队首元素的值,但不删除该元素 
  5. q.push()                在队尾压入新元素 
  6. q.back()                返回队列尾元素的值,但不删除该元素 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云霄雨霁

发布与逸出

1273
来自专栏xingoo, 一个梦想做发明家的程序员

剑指OFFER之复杂链表的复制(九度OJ1524)

题目描述: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点)。 输入: 输入可能包含多个测试样例,输入以...

2049
来自专栏小二的折腾日记

面试总结-C++

堆、栈、自由存储区、全局/静态存储区、常量存储区 自由存储区存储malloc申请的内存 (1)从静态存储区域分配 。内存在程序编译的时候就已经分配好,这块内存在...

1881
来自专栏linjinhe的专栏

Linux常用命令:sort

1636
来自专栏Linyb极客之路

并发编程之Synchronized关键字

一、Synchronized的基本使用 Synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法。Synchronized的作...

2966
来自专栏我是攻城师

在Scala里面如何使用元组

3674
来自专栏java学习

Java基础总结大全(1)

一、基础知识: 1、JVM、JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性。 ...

3685
来自专栏我的博客

NodeJs当中module.exports和exports的区别

Module.exports才是真正的接口,exports只不过是它的一个辅助工具。 最终返回给调用的是Module.exports而不是exports。 所有...

3706
来自专栏互联网研发闲思录

junit单元测试中私有方法测试

1、单元测试可以对系统逻辑进行每个单元模块的测试。 2、单元测试也可以作为回归测试的依据,可以避免升级完善功能时引入问题。 3、单元测试要求将代码写的更清晰,更...

2787
来自专栏WebDeveloper

跟我学习php字符串常用函数-下篇

1> mixed parse_url ( string $url [, int $component = -1 ] )

962

扫码关注云+社区

领取腾讯云代金券