分享

栈的一些初始函数

 竹林馆0 2011-08-09
#defin maxsize 1024

typedef struct
{
 datatype data[maxsize];
 int top;
}seqstack;
void SETNULL(seqstack *s)//置空栈
{
 s->top=-1;
}

void PUSH(seqstack *s,datatype x)//元素入栈
{
 if(s->top==maxsize-1)
  {
  printf("overflow");
  }
 else 
 {
  s->top++;
  s->data[s->top]=x;
 }
}

int EMPTY(seqstack *s)//判断栈空
{
 if(s->top>=0)return 0;
 else return 1;
}

int FULL(seqstack *s)//判断栈满
{
 if(s->top==maxsize-1)return 1;
 else return 0;
}

datatype POP(seqstack *s)//出栈,并返回当前栈顶元素
{
 if(EMPTY(s))
 {printf("underflow");}
 else 
 {
  s->top--;
                  return s->data[s->top];
 }
}

datatype TOP(seqstack *s)//返回栈顶元素
{
 if(EMPTY(s))
 {
  printf("stack is empty");return NULL;
 }
 else return (s->data[s->top]);
} 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多