1 /******************************
2 *
3 * 用数组表示栈
4 *
5 *******************************/
6
7
8 #include <stdio.h>
9
10 #define MAXSIZE 100
11
12 //元素elem 进栈
13 int push(char* a, int top, char elem)
14 {
15 if(top >= (MAXSIZE-1))
16 {
17 printf("栈满");
18 return -1;
19 }
20 a[++top] = elem;
21 return top;
22 }
23
24 //数据元素出栈
25 int pop(char* a, int top)
26 {
27 if(top == -1)
28 {
29 printf("空栈");
30 return -1;
31 }
32 printf("出栈元素:%c \n",a[top]);
33 top--;
34 return top;
35 }
36
37 int main()
38 {
39 char a[MAXSIZE];
40 int top = -1;
41 top = push(a, top, 'a');
42 top = push(a, top, 'b');
43 top = push(a, top, 'c');
44 top = push(a, top, 'd');
45
46 top = pop(a,top);
47 top = pop(a,top);
48 top = pop(a,top);
49 top = pop(a,top);
50
51 return 0;
52 }