众所周知,栈是一种后入先出的数据结构,与队列不同,队列是一种先入先出的数据结构,二者虽有差异,但是有许多相似之处。对后面知识的学习也起到承上启下的作用。本文主要介绍用数组模拟栈。
栈一般有如下操作:
1.入栈 push_back(); 此时要判断栈是否溢出。
2.出栈 pop_back(); 此时要判断栈是否为空。
3.获取栈顶元素;
4.判断栈是否为空。
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5;
int stk[N], tt; //skt代表栈, tt代表栈顶
void push(int x) //进栈
{
stk[++tt] = x;
}
void pop() //删除栈顶元素
{
tt--;
}
void gettop() //输出栈顶元素
{
cout << skt[tt];
}
void isempty() //判断栈是否为空
{
if(tt > 0) cout << "NO" << endl; //不为空
else cout << "YES" << endl;
}
int main()
{
push();
pop();
gettop();
isempty();
return 0;
}