1. 程式人生 > >順序棧的進棧,出棧

順序棧的進棧,出棧

tac div fin pop == 一個 bsp void define

 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 }

順序棧的進棧,出棧