- 1
- 0
- 约4.55千字
- 约 28页
- 2018-04-27 发布于河南
- 举报
第3章栈和队列(part1)
第三章 栈和队列 主讲:戚玉涛 主要内容 3.1 栈 3.2 栈的应用举例 3.3 栈与递归的实现 3.4 队列 引言 通常称,栈和队列是限定插入和删除只能在表的“端点”进行的线性表。 栈的抽象数据类型定义 栈的表示和实现 顺序栈 顺序栈:栈的顺序存储结构,是利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素。 设置指针top指向栈顶元素在顺序栈中的位置 顺序栈 读栈顶元素 GetTop(SqStack S, SElemTypee) { if ( S.top == S.base ) return ERROR; e = *(S.top – 1); return OK; } 链栈 链栈:栈的链式表示 优点:没有容量限制,在内存允许的范围内不会出现溢出 typedef struct STNode { SElemType data; struct STNode *next; }STNode, *LinkStack; 初始化 InitStack (LinkStack S) { S = NULL; return OK; } 入栈 Push (LinkStack S, SElemType e) { p = (LinkStack) malloc( sizeof( STNode))
原创力文档

文档评论(0)