再回首,数据结构——顺序栈上的常见操作

来源:互联网 发布:域名解析到ip端口号 编辑:程序博客网 时间:2024/05/21 12:12

      最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。

 

       希望这些能提供给初学者一些参考。


//顺序栈的类型#define MaxSize Ntypedef struct{ElementType elem[MaxSize];int top;}SeqStack;//初始化堆栈 StackInit()SeqStack StackInit (SeqStack *s){s->top = -1;return s;}//判断栈s是否为空 StackEmpty(s)int StackEmpty (SeqStack s){return (-1 == s.top);}//求堆栈的长度 StackLength(s)int StackLength (SeqStack s){return (++s.top);}//获取栈顶元素的值 GetTop(s)int GetTop (SeqStack s){if (StackEmpty(s))return (nil);return (s.elem[s.top]);}//将元素e进栈 Push(s, e)void Push (SeqStack *s, ElementType e){if (MaxSize-1 == s->top)printf ("Full");else{s->top++;s->elem[s->top] = e;}}//出栈 Pop(s)ElementType pop (SeqStack *s){if (StackEmpty (*s))return (nil);e = s->elem[s->top];s->top--;return (e);}


1 0
原创粉丝点击