Stack与Queue总结
一、Stack
堆栈是一个线性表,插入和删除只在表的一端进行。这一端称为栈顶,另一端称为栈底。堆栈的元素插入称为入栈,元素的删除则为出栈。
特点:先入后出
使用stack首先导入头文件#include<stack>
。
用法总结如下:
用法 | 说明 |
---|---|
stack s; | 创建一个名为s的堆栈 |
s.push(x); | 将元素x压入栈中 |
s.pop(); | 在栈的顶部移除元素 |
s.top(); | 获取栈顶元素 |
s.size(); | 计算栈对象元素个数 |
s.empty(); | 判断堆栈是否为空 |
二、Queue
队列是一个线性表,在一端进入插入(队尾),在一端进行删除(队首),队列的元素插入称为入队,元素的删除则为出队。
特点:先入先出
使用stack首先导入头文件#include<queue>
。
用法总结如下:
用法 | 说明 |
---|---|
queue q; | 创建一个空的queue对象 |
q.push(x); | 入队,将x接到队列的末端 |
q.pop(); | 出队,弹出队列的第一个元素,并不返回被弹出的元素 |
q.front(); | 访问队首元素 |
q.back(); | 访问队尾元素 |
q.empty(); | 判断队列空,当队列空时,返回true |
q.size(); | 返回队列中的元素个数 |