堆栈初始化,POP,PUSH()
来源:互联网 发布:网络流行语大全 编辑:程序博客网 时间:2024/05/18 03:02
#include "stdio.h"#include "stdlib.h"#include "string.h"#define init_stacksize 100#define extra_stacksize 10typedef enum{ error=0, success=1}STATUS;//typedef struct//{// int i//堆栈内元素格式//}SElemType;typedef int SElemType;typedef struct{ SElemType *base;//栈底指针 SElemType *top;//栈顶指针 int stacksize;//堆栈当前长度}Sqstack;//指示堆栈信息,每个堆栈仅需一个Sqstack *createstack(Sqstack *stack){ stack->base=(SElemType*)malloc(init_stacksize*sizeof(SElemType)); memset(stack->base,0,sizeof(init_stacksize*sizeof(SElemType))); //if(!stack->base) return error; stack->top=stack->base; stack->stacksize=init_stacksize; return stack;}STATUS push(Sqstack *stack,int a){ if((stack->top-stack->base)>=stack->stacksize)//堆栈满 { stack->base=(SElemType*)realloc(stack->base,(stack->stacksize+extra_stacksize)*sizeof(SElemType)); if (!stack->base) return error; stack->top=stack->base+stack->stacksize; stack->stacksize+=extra_stacksize; }// (stack.top++)->i=a;*stack->top++=a; return success;}//int ae;SElemType pop(Sqstack *stack){ SElemType ae; //if(stack->base==stack->top) return error;// ae=(--stack.top)->i;ae=*(--stack->top); return ae;}int main(){ int i; Sqstack *stack1; stack1=(Sqstack*)malloc(sizeof(Sqstack)); stack1=createstack(stack1); push(stack1,5); push(stack1,5); push(stack1,3); push(stack1,1);// for(i=1;i<5;i++)// push(stack1,i); for(i=1;i<5;i++) printf("%d",pop(stack1));}未完成版,栈满情况和空栈情况还未想出规范表达
0 0
- 堆栈初始化,POP,PUSH()
- push/pop堆栈指令
- 堆栈的push, pop操作...
- 堆栈PUSH、POP 自测体会
- 使用链表定义堆栈,实现pop,push
- 2017-11-15 深刻理解堆栈及PUSH POP指令
- PUSH/POP
- 实现一堆栈,要求三个操作,Pop,Push,GetMaxValue,时间均为O(1)
- 设计一个堆栈,函数min、push 以及pop 的时间复杂度都是O(1)
- 实现一堆栈,要求三个操作,Pop,Push,GetMaxValue,时间均为O(1)
- 数据传输指令--push、pop
- GCC push/pop说明
- push和pop
- push和pop
- ios push pop动画
- 导航控制器push/pop
- [iOS_Dev] pop / push modal
- NavigationViewControler pop/push
- gcc 的内存对齐
- Html5的placeholder属性(IE兼容)
- 安装x264
- 苹果iso开发:[10]CGContextSetLineWidth
- cJSON
- 堆栈初始化,POP,PUSH()
- swing生成图片之图片生成及显示
- MFC 多线程总结 .
- 理解 Linux 配置文件
- ArcGIS Engine断开其他ArcSDE用户连接的解决方案
- Delphi ControlBar Coolbar的使用
- iOS_25_彩票_控制器的view的适配
- Linux那些事儿之我是Block层(2)注册一个块设备驱动
- Viewpager:实现android初次登陆浏览应用界面效果