数组模拟栈

/**
 * 模拟栈的关键点在于确定栈顶指针到底是尾指针还是尾后指针,两者均可,但必须要明确一个
 * 在此代码中栈顶指针采用尾指针,且初始值为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;
}
posted @ 2021-01-19 11:09  0x7F  阅读(60)  评论(0编辑  收藏  举报