1.顺序栈的定义:
#define MaxSize 50
typedef struct{
ElemType data[MaxSize]; //存放数据元素
int top; //栈顶指针,初始值为-1
}SqStack;
//有的书会加入一个栈底指针,都能达到最终目的,但是后面的几个函数需要改变判断条件
2.顺序栈的初始化:
void InitStack(SqStack &S){
s.top = -1;
}
3.判断顺序表是否为空:
bool StackEmpty(SqStack S){
if(S.top == -1) return true;
else
return false;
}
4.进栈:
int Push(SqStack &S, ElemType e){
if(S.top >= MaxSize - 1) return ERROR;
S.top += 1;
S.data[S.top] = e;
return OK;
}
5.出栈:
int Pop(SqStack &S, ElemType &e){
if(S.top == -1) return ERROR;
e = S.data[S.top];
S.top -= 1;
//上两步也可以写为 e = S.data[S.top—-];
return OK;
}
6.读取栈顶元素:
int GetTop(SqStack S, ElemType &e){
if(S.top == -1) return ERROR;
e = S.data[S.top];
return OK;
}
7.销毁栈:(释放储存空间)
int DestoryStack(SqStack S){
//以后再来写
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)