栈的基本操作——2,8,16进制的入栈(头文件)
来源:互联网 发布:阿里云服务器能干嘛 编辑:程序博客网 时间:2024/06/04 18:50
#define stack_init_size 100#define stackincrement 10typedef int selemtype;typedef int status;const status error=0;const status ok=1;const status overflow=-2;typedef struct{selemtype *top;selemtype *base;int stacksize;}sqstack;status initstack(sqstack &s){ //TODO1------- //栈的初始化,构造一个空栈;s.base=(selemtype*)malloc(stack_init_size*sizeof(selemtype));if(!s.base)exit(overflow);s.stacksize=stack_init_size;s.top=s.base; return ok;}status stackempty(sqstack s){//TODO2------//判断栈是否为空,空返回ok,否则返回error;if(s.base==s.top) return ok; else return error;//根据判断结果修改。}status gettop(sqstack s,selemtype &e){//TODO3-------//取栈顶元素if(s.top==s.base)return error;e=*(s.top-1); return ok;}status push(sqstack &s,selemtype e){//TODO4-------//判断栈是否满if(s.top-s.base>=s.stacksize){s.base=(selemtype*)realloc(s.base,(s.stacksize+stackincrement)*sizeof(selemtype));if(!s.base)exit(overflow);s.top=s.base+s.stacksize;s.stacksize+=stackincrement;} //入栈,讨论不同的情况(2,8,16进制) switch(e){ case 10: e='A'; break; case 11: e='B'; break; case 12: e='C'; break; case 13: e='D'; break; case 14: e='E'; break; case 15: e='F'; break;}*s.top++=e; return ok;}status pop(sqstack &s,selemtype &e){ //TODO5------//出栈操作 if(s.base==s.top)return error;e=*--s.top; return ok;}status destroystack(sqstack &s){ free(s.base); return ok;}status clearstack(sqstack &s){ s.top=s.base; return ok;}int stacklength(sqstack s){ return s.top-s.base;}
0 0
- 栈的基本操作——2,8,16进制的入栈(头文件)
- 栈的基本操作——2,8,16进制的入栈(源文件)
- 栈的基础操作——2,8,16进制的入栈——数组类型定义
- 栈的基本操作 出栈与入栈
- 栈的基本操作(C语言版):入栈,出栈,输出栈
- C++ 栈的 基本操作 入栈 出栈 判空 求长度(方法二)
- 数据机构(五) 顺序栈的基本操作 --- 包含初始化,入栈和出栈
- 数据结构栈的基本操作(创建、入栈、出栈、销毁)
- 【逆向】PE文件的基本结构(2)-- NT头
- 带有头结点,头指针真,尾指针的栈基本操作
- 链表栈的基本操作的实现---入栈、出栈、清空
- 栈模板的链表实现(包含头结点),实现了栈的压入,栈的弹出,返回栈顶元素,排序等操作
- stack.h(栈操作的头文件---原创)
- 栈和队列的基本操作(分顺序和链式,5种基本操作有创建,判空,判满,入,出)
- C语言实现顺序栈的基本操作(初始化、判断空、入栈、出栈、获取栈顶元素)
- java速度入四.文件的基本操作及猜数字游戏的实现
- java速度入四.文件的基本操作及猜数字游戏的实现
- C++ 栈的 基本操作 入栈 出栈 判空 求长度
- NYOJ 757期末考试
- 什么是CSS+DIV及其优势所在?
- 各浏览器兼容性css写法
- Android作为客户端,PC作为服务端:实现网络通信
- 【MongoDB】1、MongoDB for Java
- 栈的基本操作——2,8,16进制的入栈(头文件)
- 黑马程序员_整个文件夹复制
- apk的包名为AndroidManifest.xml文件中的package设置的名字
- linux下使用iptables ulog+netlink在内核中抓取特定数据包
- Android中LinearLayout、RelativeLayout、TableLayout、AbsoluteLayout容器的使用
- PAT 1010. 一元多项式求导
- objective-c和多继承
- python3自动爬笑话
- 2014UC笔试(广州)软件开发:客户端方向(1)