栈的基本操作:初始化、入栈、出栈、获取栈顶元素、销毁栈
#include<stdio.h>
#define MaxSize 10
typedef struct stack{
int data[MaxSize];//分配连续的存储空间
int top;//栈顶位置为0或者-1
}sqstack;
//fun:初始化栈
//brief@sqstack
//return true
bool InitStack(sqstack &S){
S.top=-1;
}
//fun:往栈中添加一个元素
//brief@sqstack@元素
//return true
bool Push(sqstack &S,int X){
if(S.top==-1)
return false;
S.data[++S.top]=X;
return true;
}
//fun:让栈中的元素出去一个
//brief@sqstack
//returntrue
bool Pop(sqstack &S,int X) {
if(S.top==-1)
return false;
X=S.data[S.top--];//记录出栈的数据
return true;
}
//fun:获取栈顶元素
//brief@sqstack@出栈的元素
//return true
bool GetTop(sqstack &S,int X){
if(S.top==0)
return false;
X=S.data[--S.top];
return true;
}
//fun:销毁栈
//brief@sqstack
//return void
void Desdroy(sqstack &S){
S.top=-1;
//系统自动回收内存
}
int main(){
return 1;
}