栈的定义:
栈只允许在一端进行输入输出操作,通常把进行输入输出操作的这端成为栈顶,另一端为栈低。
栈的实现:
#define MaxSize 50 //设定最大元素个数
typedef int ElementType;
typedef struct LNode{
ElementType data[MaxSize]; //存放栈中元素
int top; //栈顶指针
}SqStack;
进栈操作:在栈不满的情况下,先+1,再送值到顶元素
出栈操作:在栈不是空的情况下,先取值,再-1
代码:(这里我把栈指针为-1设为空,栈顶指针指向最后一个元素)
//顺序栈的一些操作
#include<iostream>
#include<cstdio>
using namespace std;
#define MaxSize 50
typedef int ElementType;
typedef struct LNode{
ElementType data[MaxSize];
int top;
}SqStack;
void InitStack(SqStack &S){
S.top=-1;
}//建立栈
bool StackEmpty(SqStack &S){
if(S.top==-1)
return true;
return false;
}//判断是否