博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
链式堆栈
阅读量:5125 次
发布时间:2019-06-13

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

1 #include
2 #include
3 #define Stack_Size 100 4 #define Stackincrement 10 5 #define ok 1 6 #define error -1 7 #define overflow 2 8 #define TRUE 1 9 #define FALSE 010 typedef int status;11 typedef struct12 {13 int *base;14 int *top;15 int stacksize;16 }SqStack;17 status InitStack(SqStack &S)18 {19 S.base=(int *)malloc(Stack_Size*sizeof(int));20 if(!S.base) exit(overflow);21 S.top=S.base;22 S.stacksize=Stack_Size;23 return ok;24 }25 status StackEmpty(SqStack &S)26 {27 if(S.top==S.base)28 return TRUE;29 else return FALSE;30 }31 status StackLength(SqStack S)32 {33 return (S.top-S.base);34 }35 status GetTop(SqStack S,int &e)36 {37 if(S.top==S.base) return error;38 e=*(S.top-1);39 return ok;40 }41 status Push(SqStack &S,int e)42 {43 if((S.top-S.base)==S.stacksize)44 {45 S.base=(int *)realloc(S.base,(S.stacksize+Stackincrement)*sizeof(int));46 if(!S.base) exit(overflow);47 S.top=S.base+S.stacksize;48 S.stacksize+=Stackincrement;49 }50 *S.top++=e;51 return ok;52 }53 status Pop(SqStack &S,int &e)54 {55 if(S.top==S.base) return error;56 e=*--S.top;57 return ok;58 }59 int main()60 {61 int i,j,n,e;62 SqStack S1;63 InitStack(S1);64 printf("请输入堆栈长度;\n");65 scanf("%d",&n);66 printf("请输入堆栈元素:\n");67 for(i=0;i

转载于:https://www.cnblogs.com/mycapple/archive/2012/08/03/2620987.html

你可能感兴趣的文章
【Xmail】使用Xmail搭建局域网邮件服务器
查看>>
zoj 4049
查看>>
一个关于数学归纳法的悖论问题-续
查看>>
selenium之截图
查看>>
自己的碎碎念
查看>>
Unity3D 物体移动方法总结
查看>>
MFC中CString.Format的用法
查看>>
【转发】响应式Web设计?怎样进行?
查看>>
iOS项目开发— CoreLocation的定位服务和地理编码与发编码实现
查看>>
springBoot修改代码不需要重启-热部署
查看>>
18.QT-QPlainEdit 信号与槽
查看>>
Linux-使用之vim出现的问题
查看>>
资料收藏夹
查看>>
bzoj4380[POI2015]Myjnie dp
查看>>
jquery动画 -- 1.加载指示器
查看>>
基础C#总结
查看>>
CSS基础选择器(选择器的优先级),CSS样式块( 长度/颜色/显示方式/文本样式),盒模型组成,盒模型-block,盒模型布局...
查看>>
strcpy、memcpy和memset的区别
查看>>
AI单挑Dota 2世界冠军:被电脑虐哭……
查看>>
Python3 循环
查看>>