博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c语言编程之栈(链表实现)
阅读量:7028 次
发布时间:2019-06-28

本文共 2522 字,大约阅读时间需要 8 分钟。

     用链表实现栈,完成了出栈入栈功能。

1 #include"stdio.h"  2 typedef int element;  3   4 //define a struct descirbe a stack used by linklist  5 typedef struct Stack_linklist{  6         element data;  7         struct Stack_linklist *next;  8 }*Stack;  9  10 //define a struct desribe a stack top number 11 typedef struct Stack_top{ 12         element top; 13 }*Top; 14 element pop(Stack pStack,Top pTop) 15         { 16           Stack P,K; 17           K=pStack->next; 18           printf("pop data:%d\n",pStack->next->data); 19           pStack->next=pStack->next->next; 20           free(K); 21           printf("pop position:%d\n",pTop->top); 22           --pTop->top; 23         } 24  25 element Init(Stack *p_Stack,element num,Top pTop) 26         { 27            pTop->top=-1; 28            Stack P,pStack; 29            pStack=*p_Stack; 30            int i=0; 31            if(num<1) 32                  { 33                    printf("please input right number\n"); 34                  } 35            for(;i
next=P; 39 pStack=pStack->next; 40 pTop->top++; 41 pStack->data=i; 42 printf("pStack->data:%d\n",pStack->data); 43 } 44 pStack->next=NULL; 45 return 0; 46 } 47 element push(Stack *pStack,element num,Top pTop) 48 { 49 Stack P,k,M; 50 M=(Stack)malloc(sizeof(struct Stack_linklist)); 51 P=*pStack; 52 k=P->next; 53 P->next=M; 54 M->next=k; 55 M->data=num; 56 pTop->top++; 57 printf("push position:%d data:%d\n",pTop->top,M->data); 58 } 59 element Print(Stack pStack) 60 { 61 Stack P; 62 P=pStack->next; 63 while(P) 64 { 65 printf("data:%d\n",P->data); 66 P=P->next; 67 } 68 } 69 element main() 70 { 71 Stack P; 72 Top pTop; 73 pTop=(Top)malloc(sizeof(struct Stack_top)); 74 P=(Stack)malloc(sizeof(struct Stack_linklist)); 75 P->next=NULL; 76 Init(&P,20,pTop); 77 Print(P); 78 push(&P,77,pTop); 79 push(&P,99,pTop); 80 push(&P,100,pTop); 81 push(&P,200,pTop); 82 push(&P,300,pTop); 83 Print(P); 84 pop(P,pTop); 85 pop(P,pTop); 86 Print(P); 87 }

 

转载于:https://www.cnblogs.com/qiuheng/p/5784023.html

你可能感兴趣的文章
Java之路--Javase篇 泛型
查看>>
SecureCRT自动记录日志
查看>>
WordPress优化:为原创文章和转载文章分别添加不同的版权申明
查看>>
使用property为类中的数据添加行为
查看>>
ssh 别名
查看>>
远程连接服务器工具:sshpass
查看>>
去掉字符串左右两边的空格
查看>>
Android层次化安全架构及核心组件概览
查看>>
单机服务器已经安装好二进制mysql5.6.20,然后开启mysql多实例
查看>>
ACM 序号互换
查看>>
JVM Garbage Collection
查看>>
我的友情链接
查看>>
LVS NAT 模式突然很卡ip_conntrack
查看>>
重拾CCNA,学习笔记持续更新ing......(7)
查看>>
FreeBSD下的开机自启动
查看>>
我的友情链接
查看>>
Linux命令行快捷键
查看>>
python 的实用技巧
查看>>
创建RHCS集群环境
查看>>
电子商务未来的趋势,难道我真的错了?
查看>>