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