抽象数据类型ADT之栈的构建
2017-10-16 22:03
549 查看
#include <stdio.h> #include <stdlib.h> #include <string.h> #define initsize 100 //设置初始分配内存 #define add 10 //设置分配增量 typedef char elemtype; typedef int status; typedef struct { elemtype *base; elemtype *top; //注意 : top表示栈顶元素的下一个元素 int stacksize; } sqstack; void initstack(sqstack &s)//构建栈操作 { s.base = (elemtype *) malloc((initsize)* sizeof(elemtype)); s.top=s.base; s.stacksize = initsize; } void push(sqstack &s, elemtype e) { if(s.top - s.base >= s.stacksize) //当前分配空间不够的情况 { s.base = (elemtype *) realloc(s.base, (initsize + add) * sizeof(elemtype)); s.top = s.base + s.stacksize; s.stacksize +=add; } *s.top++ =e; // top地址自身加加之后存储数值 } status pop (sqstack &s) { if(s.base == s. top) return 0; else { s.top--; return *s.top; } } char gettop(sqstack &s) { if(s.base == s.top) return false; else return *(s.top-1); } status isempty(sqstack &s) { if(s.base ==s.top ) return 1; else return 0; } int main() { return 0; }
相关文章推荐
- 抽象数据类型ADT之队列的构建
- C编程思想之抽象数据类型(ADT)(三)
- 抽象数据类型(ADT)
- 抽象数据类型总结:复数 adt 和 FIFO 队列adt
- C/C++字符串处理(3):String ADT - 字符串只是抽象数据类型
- 数据结构--抽象数据类型(ADT)的表示与实现
- 数据结构和抽象数据类型(ADT)简介
- ADT描述规范 (abstract data type)抽象数据类型
- 数据结构(scheme) -- 抽象数据类型(ADT) -- 二叉查找树
- 抽象数据类型(ADT)入门(一)
- 抽象数据类型ADT
- java算法:抽象数据类型ADT
- 抽象数据类型定义(ADT)
- 迁移ADT/ANT构建的Android项目至Gradle,a walk through。
- 抽象数据类型(ADT)入门(一)
- ADT(抽象数据类型)
- 数据结构(scheme) -- 抽象数据类型(ADT) -- 图
- 抽象数据类型(ADT) 双链表实现
- 《计算机科学导论》之抽象数据类型(ADT)
- 使用Eclipse ADT构建PhoneGap入门程序