码迷,mamicode.com
首页 > 其他好文 > 详细

链栈的基本操作

时间:2018-10-17 22:18:13      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:ack   修改   type   lse   表头   get   void   typedef   span   

 1 //链栈是运算受限的单链表,只能在链表头部进行操作 
 2 typedef struct StackNode{
 3     SElemType data;
 4     struct StackNode *next;
 5 }StackNode,*LinkStack;
 6 LinkStack S;  
 7 //链栈的初始化
 8 void InitStack(LinkStack &S){
 9     S=NULL;
10     return OK;
11 } 
12 //判断链栈是否为空
13 Status StackEmpty(LinkStack S){
14     if(S==NULL)    return TURE;
15     else return FALSE;
16 }
17 //链栈的入栈
18 Status Push(LinkStack &S,SElemType e){
19     p=new StackNode;  //生成新节点 
20     p->data=e;    //将新节点的数据域为e 
21     p->next=S;    //将新节点插入栈顶 
22     S=p;    //修改栈顶指针 
23     return OK;
24 } 
25 //链栈的出栈
26 Status Pop(LinkStatus &S,SElemType &e){
27     if(S==NULL) return ERROR;
28     e=S->data;
29     p=S;
30     S=S->next;
31     free(p);
32     return OK;
33 } 
34 //取栈顶元素
35 SElemTtype GetTop(LinkStack S){
36     if(S!=NULL)
37         return S->data;
38 } 

 

链栈的基本操作

标签:ack   修改   type   lse   表头   get   void   typedef   span   

原文地址:https://www.cnblogs.com/suqf/p/9807186.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!