栈的顺序储存实现
栈的结构体定义:
#define MaxSize<储存数据元素的最大个数>
typedef struct SNode *Stack;
struct SNode{
ElementType Data[MaxSize];
int top;
}
入栈操作:
void Push(Stack PtrS, ElementType item)
{
if(Ptrs->Top == MaxSize-1){
printf("堆栈满");
return;
}else{
Ptrs->Data[++(PtrS->Top)] = item;
return;
}
}
出栈操作:
ElementTypePop(Stack PtrS)
{
if(PtrS->Top==-1){
printf("堆栈空");
return ERROR;
}else{
return(PtrS->Data[(PtrS->Top)--]);
}
}