链栈

 1 //链栈
 2 typedef struct LinkStack1{
 3     int data;
 4     struct LinkStack1 *next;
 5 }StackNode,*LinkStack; 
 6 
 7 //初始化
 8 bool InitStack(LinkStack &S){
 9     S=(LinkStack)malloc(sizeof(StackNode));
10     S=NULL;
11     return true;
12 } 
13 //进栈
14 bool Push(LinkStack &S,int x){
15     StackNode *m;
16     m=(StackNode *)malloc(sizeof(StackNode));
17     m->data=x;
18     m->next=S;
19     S=m;
20     
21     return true;
22 } 
23 //出栈
24 bool Pop(LinkStack &S,int &x){
25     LinkStack L;
26     L=S;
27     x=L->data;
28     S=L->next;
29     free(L);
30     return true;
31 } 
32 //遍历
33 bool travel(LinkStack S){
34     LinkStack Q;
35     Q=S;
36     while(Q!=NULL){
37         printf("%d",Q->data);
38         Q=Q->next;
39     }
40     return true;
41 } 
42 int main(){
43     LinkStack S;
44     int x;
45     InitStack(S);
46     Push(S,1);
47     Push(S,2);
48     Push(S,5);
49     Pop(S,x);
50     travel(S);
51     printf("\n");
52     printf("%d",x);
53     return 0;
54 }

 

posted @ 2022-07-11 21:23  梦开始的地方  阅读(20)  评论(0)    收藏  举报