C 数据结构 笔记(三) —— 栈
来源:互联网 发布:直播app源码搭建 编辑:程序博客网 时间:2024/06/05 04:26
栈
定义栈
typedef int ElemType;typedef struct { ElemType *base; ElemType *top; int stacksize;} sqStack;
创建栈
#define STACK_INIT_SIZE 100void createStack(sqStack *s){ s->base = (ElemType *)malloc(STACK_INIT_SIZE * sizeof(ElemType)); if (!s->base) exit(0); s->top = s->base; s->stacksize = STACK_INIT_SIZE;}
入栈
#define STACK_INCREMENT 10void push(sqStack *s, ElemType e){ if (s->top - s-> base >= s->stacksize) { s->base = (ElemType *)realloc(s->base, (s->stacksize + STACK_INCREMENT * sizeof(ElemType))); if (!s->base) exit(0); s->top = s->base + s->stacksize; s->stacksize = s->stacksize + STACK_INCREMENT; } *(s->top) = e; s->top++;}
出栈
void pop(sqStack *s, ElemType *e){ if (s->top == s->base) return; *e = *--(s->top);}
栈容量
int length(sqStack *s){ return (s->top - s->base);}
清空栈
void clean(sqStack *s){ s->base = s->top;}
销毁栈
void destroyStack(sqStack *s){ int i, len; len = s->stacksize; for (i = 0; i < len; i++) { free(s->base); s->base++; } s->base = s->top = NULL; s->stacksize = 0;}
阅读全文
0 0
- C 数据结构 笔记(三) —— 栈
- 数据结构(三)——栈(C语言实现)
- 数据结构(c语言)—笔记
- 数据结构(严蔚敏)之三——顺序栈之c语言实现
- 《数据结构(严蔚敏版)》学习笔记(三)——栈实现数制转换
- JAVA笔记(三)数据结构
- 数据结构学习笔记(三)
- 数据结构学习笔记(三)
- 数据结构学习笔记(三)
- 数据结构学习笔记(三)
- 数据结构(c语言版)学习笔记——排序算法
- 数据结构(c语言版)学习笔记——排序算法
- C 数据结构 笔记(一) —— 顺序表
- C 数据结构 笔记(二) —— 链表
- C 数据结构 笔记(四) —— 队列
- C 数据结构 笔记(五) —— 循环队列
- C 数据结构 笔记(六) —— 二叉树
- 熟悉笔记—数据结构(c语言版) 之 顺序表
- C 数据结构 笔记(二) —— 链表
- Qt之静态链接库的创建并使用
- 打开Mac OSX原生的读写NTFS功能
- 数据库:mysql5.6 innoDB锁等待
- 递归算法1
- C 数据结构 笔记(三) —— 栈
- 仿今日头条——配置+动画3秒跳
- vue切换路由后页面显示顶端
- 增删改查表格最全面的
- 怎么样在foxmail上加载gmail邮箱(2017最新方法)?
- LR的变量选择问题
- URAL
- Anaconda 在windows下安装pymssql
- Linux命令(二)