栈
栈(stack),主要操作为入栈和出栈(push,pop),结构如同一个羽毛球桶,规律为先入先出,后入后出,与队列的规则恰好相反。
例如:
入栈:
较为合理的出栈序列:
如果入栈后直接出栈;序列为:
可以使用数组来模拟出栈入栈的过程,不过c++头文件中提供了栈的类型stack。
栈和队列一样,有几种相应的操作:
#include<bits/stdc++.h>
using namespace std;
int n; //输入个数
int stackNumbers[114]; //输入栈前的存储
stack<int> _stack; //定义栈:stack<类型> 栈名称
int main(){
cin>>n; //不多说了
for(int i=0;i<n;i++){
cin>>stackNumbers[i]; //输入
_stack.push(stackNumbers[i]); //入栈:栈名.push(栈类型的变量/值)
}
while(!_stack.empty()){ //求给定栈是否为空栈:栈名.empty(),返回值为bool值
cout<<_stack.top(); //求栈顶:栈名.top()
cout<<endl;
_stack.pop(); //出栈:栈名.pop()
}
}