顺序栈的进栈,出栈

Posted zcb_bai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了顺序栈的进栈,出栈相关的知识,希望对你有一定的参考价值。

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #define MAX 100
 4 
 5 typedef struct 
 6 {
 7     char c[MAX];
 8     int top;
 9 }*seqstack;
10 
11 void InitStack(seqstack s);//建立一个空栈
12 int push(seqstack s,char a);//进栈
13 int pop(seqstack s,char *a);//出栈
14 
15 int main()
16 {
17     seqstack s;
18     s=(seqstack)malloc(sizeof(seqstack));
19     InitStack(s);
20     char a;
21     a=getchar();
22     while(a!=\n)
23     {
24         push(s,a);
25         a=getchar();
26     }
27     while(pop(s,&a))
28         putchar(a);
29     printf("\n");
30     return 0;
31 }
32 
33 void InitStack(seqstack s)//建立一个空栈
34 {
35     s->top=-1;
36 }
37 
38 int push(seqstack s, char a)//进栈
39 {
40     if(s->top==MAX-1)
41         return 0;
42     s->top++;
43     s->c[s->top]=a;
44     return 1;
45 }
46 
47 int pop(seqstack s,char *a)//出栈
48 {
49     if(s->top==-1)
50         return 0;
51     else
52     {
53         *a=s->c[s->top];
54         s->top--;
55         return 1;
56     }
57 }

 

以上是关于顺序栈的进栈,出栈的主要内容,如果未能解决你的问题,请参考以下文章

安卓 碎片 如何实现类似 活动 栈的 进栈 出栈

(源代码见大话数据结构)栈的顺序存储结构——进栈&出栈

Python|栈是如何进栈和出栈的问题解决方法

顺序栈的总结

可能的出栈序列问题

数据结构-队列和栈的使用