数组模拟栈
/**
* 模拟栈的关键点在于确定栈顶指针到底是尾指针还是尾后指针,两者均可,但必须要明确一个
* 在此代码中栈顶指针采用尾指针,且初始值为0代表栈为空,即从1开始存储数据,这些都能随意定,只要前后对应就好
*/
#include <iostream>
using namespace std;
const int N = 1e5 + 10;
int tt, stk[N];
void push(int x) // 将x压栈
{
stk[++ tt] = x;
}
void pop() // 弹出栈顶元素
{
-- tt;
}
int top() // 返回栈顶元素
{
return stk[tt];
}
bool empty() // 判断栈是否为空
{
if (tt > 0) return false;
return true;
}