1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 5 #define MAX 20 6 7 8 typedef struct stack{ 9 char item; 10 struct stack *next; 11 }stack; 12 13 char gettop_s(stack *h) //得到栈顶元素 14 { 15 char ch; 16 17 ch = h->item; 18 19 return ch; 20 } 21 22 stack * out_s(stack *h) //出栈 23 { 24 stack *p; 25 char ch; 26 27 28 p = h; 29 ch = p->item; 30 h = h->next; 31 32 free(p); 33 34 return h; 35 } 36 37 stack * insert_s(char ch, stack *h) //入栈 38 { 39 stack *p; 40 41 p = (stack *)malloc(sizeof(stack)); 42 43 p->item = ch; 44 p->next = h; 45 46 h = p; 47 48 return h; 49 } 50 51 stack * init() //初始化栈 52 { 53 stack *h; 54 55 h = (stack *)malloc(sizeof(stack)); 56 57 h->item = '