Stack
适配器
适配器就是将容器转换成一个满足设计的要求的容器,比如Stack(栈),就将顺序容器转换成满足FIFO的容器.
除了Stack之外,适配器还有Queue和Priority Queues.
头文件
#include<Stack>
定义元素
stack<class> VerName;
定义的时候也可以指定stack的容器,但没有特殊需求还是按默认来好
初始化操作
函数 | 功能 |
---|---|
stack() | 默认的初始化函数 |
stack(const Container& cntr=Container()) | 将顺序容器构造Stack |
成员函数
函数 | 功能 |
---|---|
empty() | 返回stack是否为空 |
pop() | 删除stack顶部的元素 |
push(element) | 再stack顶部添加元素 |
size() | 返回stack内元素的个数 |
top() | 返回stack栈顶的元素 |
Tips:
- 一般我们用top()读取元素之后,立即调用pop()删除元素.
- 在调用top()和pop()的时候一定先要检查是否empty().
样例
#include<stack>
#include<iostream>
using namespace std;
int main()
{
stack<int> Stack;
for(int i=1;i<=10;i++)
Stack.push(i);
cout<<"元素个数:"<<Stack.size()<<endl;
while(!Stack.empty())
{
int Temp;
Temp=Stack.top();
Stack.pop();
cout<<"栈顶元素为:"<<Temp<<endl;
}
return 0;
}
输出
元素个数:10
栈顶元素为:10
栈顶元素为:9
栈顶元素为:8
栈顶元素为:7
栈顶元素为:6
栈顶元素为:5
栈顶元素为:4
栈顶元素为:3
栈顶元素为:2
栈顶元素为:1