顺序栈的操作
# includestdio.h
# includemalloc.h
# includestdlib.h
#定义MAXSIZE 100
typedef int SElemType
typedef结构SqStack {
SElemType * base//栈底指针
选择类型*顶部//栈顶指针
int stacksize/栈可用最大容量
} SqStack
/*
栈的初始化
*/
void InitStack(Sqstack S){ 0
s。base=(selem类型*)malloc(sizeof(selem类型)* MAXSIZE);
if(!S.base)出口(-1);
s。顶部=底部;
S.stacksize=MAXSIZE
}
/*
判断顺序栈是否为空
*/
bool Stackempty(Sqstack S){ 0
if (S.base==S.top)
{
返回真;
}
else {
返回错误的
}
}
/*
求顺序栈长度
*/
int StackLengt(Sqstack S){ 0
返回s . top-s . base;
}
/*
清空顺序栈
*/
int ClearSqStack(Sqstack S){ 0
中频(基地)
{
s。顶部=底部;
}
返回1;
}
/*
销毁顺序栈
*/
int DestroyStack(Sqstack){ S
中频(基地)
{
免费(s . base);
s。堆栈大小=0;
s。底部=顶部=空;
}
返回1;
}
/*
顺序栈的入栈
*/
int Push(SqStack S,selem类型e){ 0
if (S.top - S.base==S.stacksize)返回-1;//栈满
* s . top=e;
S.top
返回1;
}
/*
顺序栈的出栈
*/
int Pop(SqStack S,selem类型e){ 0
if (S.base==S.top)返回-1;
e=* S.top
s。top-;
返回1;
}
int main(){ 0
返回0;
}
我亦无他,惟手熟尔
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/74748.html