一:关于栈

(1)是一种线性存储结构

(2)限定只能在栈顶进行插入和删除操作。

(3)栈顶与栈底:允许元素插入与删除的一端称为栈顶,另一端称为栈底。

(4)先进后出,就像一个桶,往里放东西,最后放的肯定先被拿走

二:操作

定义st[],tt表示栈顶下标

(1)插入

st[+tt]=x

(2)弹出栈顶

tt--

(3)判断栈是否为空

if(tt>0)则不为空

else 为空

(4)取栈顶

st[tt]

三:基本板子题:

手写模拟栈_ios

#include<cstdio>
#include<cstring>
#include<vector>
#include<set>
#include<algorithm>
#include<iostream>
#include<vector>
using namespace std;
typedef long long ll;
const int maxn=1e5+10,maxn2=31*maxn;
int st[maxn];//ÏȽøºó³ö
int tt;//¶ÓÍ·
int main()
{
int m;
cin>>m;
tt=0;
while(m--)
{
char op[11];
cin>>op;
if(!strcmp(op,"push"))
{
int x;
cin>>x;
st[++tt]=x;
}
else if(!strcmp(op,"pop"))
{
tt--;
}
else if(!strcmp(op,"empty"))
{
if(tt>0)
cout<<"NO"<<endl;
else
cout<<"YES"<<endl;
}
else if(!strcmp(op,"query"))
{
cout<<st[tt]<<endl;

}
}
}