栈与队列

一、STL库中stack的操作

1.stack的定义

首先添加头文件:

#include <stack>
using namespace std;

定义:

stack<typename> name;

2.stack常用函数

假设已有栈stack<int> st

top()

获取栈顶元素(也是stack内元素访问的唯一方法)

int a = st.top();

push()

将元素压入栈顶(也是stack唯一存入元素的方法)

int x = 985;
st.push(x);

pop()

弹出栈顶元素

st.pop();

empty()

检测stack是否为空,空则返回true

bool is_empty = st.empty();

size()

返回stack的长度(元素个数)

int size = st.size();

二、题目

leetcode-20.有效的括号
leetcode-155.最小栈
leetcode-232.栈实现队列
——————————————————————————————————————

队列

一、STL库中queue的操作

1.queue的定义

首先添加头文件:

#include<queue>
using namespace std;

定义:

queue<typename> name;

2.queue常用函数

假设已有队列queue<int> q

front()、back()

queue用front()访问队首元素,用back()访问队尾元素

int f = q.fornt();
int b = q.back();

push()

push(x)将元素x入队

q.push(123);

pop()

pop()令队首元素出队

q.pop()

empty()

empty()检查queue是否为kong,空则返回true

bool is_empty = q.empty();

size()

返回queue内元素个数

int count = q.size();

二、题目

leetcode-225. 队列实现栈

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在这篇文章里,我们来实现自定义的链式栈。首先我们来看看链式栈的结构及操作定义。 链式栈结构定义 首先,新建两个文件...
    我叫卡卡算了阅读 870评论 0 2
  • 1.栈 1.1.栈的定义 栈(stack)是限定仅在表尾(栈顶 top)进行插入和删除操作的后进先出的线性表。 p...
    JonyFang阅读 1,385评论 0 21
  • 栈 栈是限定仅在表尾进行插入和操作的线性表;允许插入和删除的一端称为栈顶,另一端称为栈底,不含任何数据元素的栈称为...
    Bangys阅读 457评论 0 0
  • 栈 栈是限定仅在表尾进行插入和删除操作的线性表。 栈又称为后进先出(Last In First Out )的线性表...
    jtsky阅读 664评论 0 0
  • 栈是限定仅在表尾进行插入和删除操作的线性表。队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 栈的...
    Yix1a阅读 537评论 0 0