第六讲栈的定义及实现概要.ppt

滨州学院计算机科学技术系 第三章 栈和队列 栈的定义 栈的表示 栈的实现 本讲内容 一、栈的基本概念及特点 二、栈的ADT定义 三、栈类型的实现 栈 一、栈的基本概念及其特点(1) 1. 什么是栈? 栈(Stack)是一种特殊的线性表。 S = (a1, a2, … , an) 仅在表尾进行插入和删除。 表尾称为栈顶(top),表头称为栈底(bottom)。 插入元素称为入栈(push)。 删除元素称为出栈(pop)。 1. 栈的顺序存储实现——顺序栈 (1)顺序栈的类型定义 (2)顺序栈的基本形态 (3)顺序栈基本操作的实现 (4)顺序栈与顺序表 (1)顺序栈的类型定义 //顺序栈的最大容量 const int MAXSIZE = 256; //可根据实际调整 //顺序栈的类型定义 typedef struct SqStack { ElemType elem [ MAXSIZE ]; int top; } SqStack; (2)顺序栈的基本形态 (2)顺序栈的基本形态 ① 栈空 条件:S.top==0 不能出栈,不能取栈顶元素 ② 栈满 条件:S.top==MAXSIZE 不能入栈 ③ 栈非空(非满) (3)顺序栈基本操作的实现 构造空栈S Status InitStack ( SqStack S ) { S.top = 0; return OK;

文档评论(0)

1亿VIP精品文档

相关文档