数据结构 链栈的基本操作
        【摘要】  #include <stdio.h>  #define OK 1#define ERROR 0#define OVERFLOW   -2 typedef int SElemType; typedef struct StackNode{	SElemType data;	struct StackNode *next;}StackNode, *LinkStackPtr;...
    
    
    
    
  
   - 
    
     
    
    
     
      #include <stdio.h>
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      #define OK 1
     
    
- 
    
     
    
    
     
      #define ERROR 0
     
    
- 
    
     
    
    
     
      #define OVERFLOW -2
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      typedef int SElemType;
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      typedef struct StackNode
     
    
- 
    
     
    
    
     
      {
     
    
- 
    
     
    
    
     
      	SElemType data;
     
    
- 
    
     
    
    
     	struct StackNode *next;
     
    
- 
    
     
    
    
     
      }StackNode, *LinkStackPtr;
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      typedef struct LinkStack
     
    
- 
    
     
    
    
     
      {
     
    
- 
    
     
    
    
     
      	LinkStackPtr top;
     
    
- 
    
     
    
    
     	int count;
     
    
- 
    
     
    
    
     
      }LinkStack;
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      int Push(LinkStack &S, SElemType e)
     
    
- 
    
     
    
    
     
      {
     
    
- 
    
     
    
    
     
      	LinkStackPtr s = (LinkStackPtr) malloc(sizeof(StackNode));
     
    
- 
    
     
    
    
     
      	s->data = e;
     
    
- 
    
     
    
    
     
      	s->next = S.top;
     
    
- 
    
     
    
    
     
      	S.top = s;
     
    
- 
    
     
    
    
     
      	S.count++;
     
    
- 
    
     
    
    
     	return OK;
     
    
- 
    
     
    
    
     
      }
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      int Pop(LinkStack &S, SElemType &e)
     
    
- 
    
     
    
    
     
      {
     
    
- 
    
     
    
    
     
      	LinkStackPtr p;
     
    
- 
    
     
    
    
     	if (stackEmpty(S))
     
    
- 
    
     
    
    
     		return ERROR;
     
    
- 
    
     
    
    
     
      	e = S.top ->data ;
     
    
- 
    
     
    
    
     
      	p = S.top ;
     
    
- 
    
     
    
    
     
      	S.top = S.top ->next ;
     
    
- 
    
     
    
    
     	free(p);
     
    
- 
    
     
    
    
     
      	S.count --;
     
    
- 
    
     
    
    
     	return OK;
     
    
- 
    
     
    
    
     
      }
     
    
 文章来源: blog.csdn.net,作者:悦来客栈的老板,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq523176585/article/details/17249093
        【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
            cloudbbs@huaweicloud.com
        
        
        
        
        
        
        - 点赞
- 收藏
- 关注作者
 
             
           
评论(0)