stack常用方法
stack翻译为栈,属于先进后出的容器就类似于一个只有一边有口的管道,向里面加乒乓球,只能通过取最顶层的乒乓球才能继续拿掉下一个。
定义
使用stack时需要加入stack头文件,并且也要定义using namespace std
#include<stack>
#incldue<iostream>
using namespace std;
stack<int> q;
访问
因为stack的先进后出的性质,所以只能访问栈顶通过top()访问
eg:见常用函数解析处top的使用
常用函数解析
push()
使元素入栈
时间复杂度为O(1)
q.push(1);
q.push(2);
top()
查询栈顶
时间复杂度为O(1)
cout<<q.top()<<endl;
//输出为2
pop()
删除栈顶元素
时间复杂度为O(1)
q.pop();
cout<<q.top()<<Endl;
//输出为1
empty()
检验是否为空
时间复杂度为O(1)
if(q.empty())
cout<<"empty1"<<endl;
q.pop();
if(q.empty())
cout<<"empty2"<<endl;
//输出结果为 empty2
size()
查询栈内元素个数
时间复杂度为O(1)
cout<<q.size()<<endl;
q.push(2);
cout<<q.size()<<endl;
输出为 0 1
使用方向
为了模拟出空间更大的栈,更加方便的迭代