首页 > 其他 > 详细

LIFO栈 ADT接口 链表实现

时间:2018-09-30 11:45:58      阅读:151      评论:0      收藏:0      [点我收藏+]

LIFO 链栈结构

1 typedef int ElemType;
2 struct node{
3     ElemType data;
4     struct node* next;
5 };
6 typedef struct node* LinkedStack;

LIFO 链栈基本操作

 1 //LIFO 链栈初始化
 2 void InitStack(LinkedStack top){
 3      top = NULL;
 4 }
 5 
 6 //LIFO 链栈判断栈空
 7 boolean StackKEmpty(LinkedStack top){
 8      if(top == NULL) return true;
 9      else return false;
10 11 
12 //LIFO 链栈进栈
13 void Push(LinkedStack top, ElemType x){
14      LinkedStack p;
15      p = malloc(sizeof *p);
16      p -> data =x;
17      p -> next = top;
18      top = p;
19 }
20 
21 //LIFO 链栈出栈
22 ElemType Pop(LinkedStack top){
23      LinkedStack p;
24      ElemType x;
25      if(top == NULL){
26         printf("栈下溢错误!\n");
27         exit(1);
28      }
29      p = top;
30      x = p -> data;
31      top = top -> next;
32      free(p);
33      return x;
34 }
35 
36 //LIFO 链栈读取栈顶
37 ElemType GetTop(LinkedStack top){
38      if(top == NULL){
39         printf("栈下溢错误! \n");
40         exit(1);
41      }
42      return top -> data;
43 } 

 

LIFO栈 ADT接口 链表实现

原文:https://www.cnblogs.com/WALLACE-S-BOOK/p/9728661.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!