小白笔记--------------------链栈
2015-10-28 23:08
316 查看
用的头插法,比尾插法简单
/*2015/10/27*/ #include<stdio.h> #include<stdlib.h> #include<unistd.h> typedef struct stark { int k; struct stark *down; int size; }stark; int main(int argc,char **argv) { stark *p; p = (stark *)malloc(sizeof(stark)); Init(p); int i; for(i = 0;i<10;i++) { push(p,i); } pop(p); print(p); return 0; } Init(stark * p)//初始化链栈 { p->size = 0; p->down = NULL; } int Getsize(stark *p)//获得栈的大小 { return p->size; } push(stark * p,int i)//压栈 { stark *q; q = (stark*)malloc(sizeof(stark)); q->k = i; q->down = p->down; p->down = q; p->size++; } pop(stark *p)//出栈 { stark * q; q = p->down; p->down = q->down; free(q); p->size--; } print(stark *p)//遍历栈 { printf("stark size:%d\n",Getsize(p)); while(p->down != NULL) { printf("%d\t",p->down->k); p = p->down; } printf("\n"); }
相关文章推荐
- 大三CS狗一点想法
- 怎样在spring初始化完成后执行一些操作?
- List集合拆分
- LightOJ - 1068 Investigation(数位DP)
- dropzone
- USB鼠标通信协议格式
- zoj3911 线段树区间修改与求素数的结合
- js xuexi
- 第七次作业——团队作业——项目冲刺———第一天
- 黑马程序员——Java 基础:匿名内部类
- java springmvc 微信公众平台自动回复乱码问题
- Ubuntu学习 - SVN服务搭建
- 数据库(SQL Server)管理数据库表~新奇之处
- 在活动中使用Menu
- Leetcode -- Reverse Words in a String
- LightOJ - 1057 Collecting Gold(状压DP)
- 负margin的经典利用之用绝对定位来居中
- postgresql function 返回 select
- Subsets II
- 控制器的View的创建