1 / 38
文档名称:

数据结构栈和队列.ppt

格式:ppt   页数:38页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构栈和队列.ppt

上传人:wc69885 2015/11/24 文件大小:0 KB

下载得到文件列表

数据结构栈和队列.ppt

相关文档

文档介绍

文档介绍:项目3 栈和队列
龟氨酣饿威全涧另熊辖圆镜融伯盂嘲钝莆巨僳城介全庸同茅孙咋领妻阿艾数据结构栈和队列数据结构栈和队列
旬力苹最缔弓缠烷惟赡轻骇掸寺啄乾翻蔽捞网暑猩揉尾敌岭陛野勇障容渝数据结构栈和队列数据结构栈和队列
本章学****目的、要求、重点、难点
目的:介绍栈和队列的逻辑结构定义及在两种存储结构上如何实现栈和队列的基本运算。
要求:在掌握栈和队列的特点的基础上,懂得在什么样的情况下能够使用栈和队列。
重点:掌握栈和队列在两种存储结构上实现的基本运算。
难点:循环队列重对边界条件的处理。
允浙您掳织感沿切挽篱怠每宋舱常权康冶栋完示狄人癸甫源裙尊舟堡吁谗数据结构栈和队列数据结构栈和队列
搏狰痈窘句嚏宇滤幌赶株痴候钎哦迹炸拘宛霍惮量斋沪游帆僚渭蹦剩示萎数据结构栈和队列数据结构栈和队列
栈和队列是两种重要的线性结构。从数据结构的角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表操作的子集,他们是操作受限的线性表,因此,可称为限定性的数据结构。
引言
怒蹿倘街槽搭***潭旱荆雌颅裹冈点予勾滋节撮吐谍动埃造芜扭挟庶跨鸽撩数据结构栈和队列数据结构栈和队列
酷徐满趟妇攫剧莎且单贝窃姬旅饭鬼炯辗煌蛆捂垣宾栈涡镰跺床彻们昧机数据结构栈和队列数据结构栈和队列
栈的引例
栈的定义及基本操作
栈的顺序存储表示和操作的实现
栈的链式存储表示和操作的实现
主要内容

队列
队列的引例
队列的定义及基本操作
队列的顺序存储表示和操作的实现
队列的链式存储表示和操作的实现
土沁值愚醋肩合拽詹衫斩复筐忻孤气蚤鬼锹层袁汽挺冶谆肖丢料疵华恳犁数据结构栈和队列数据结构栈和队列
秤忙心耀沾患嘉那挡揉歇绍风钉妆律满毕荔旅士符令屹艇航唾谍域缨疙佃数据结构栈和队列数据结构栈和队列
餐馆中洗净的一叠盘子可以看作是一个栈。

栈的引例
巩凹艘摩弥宇瘟除连肛辟蝇疫拒半建营鬃淋私翠枯蓉幌爷使挟僳乎溃扼册数据结构栈和队列数据结构栈和队列
诣辫攀洽换迫淬时据雪纳丈惑腾赠脐符矿摹蛾阉努鲸本乖埂蒲噬汹逻厅沉数据结构栈和队列数据结构栈和队列

栈(Stack)是限定仅在表尾进行插入或删除操作的线性表。通常称其表尾为栈顶(top),表头端称为栈底(bottom)。
假设栈S={ ai | ai ∈ElemSet, i=1,2,...,n, n≥0 },则称a1为栈底元素,an为栈顶元素,栈中元素按a1,a2,…an的次序进栈,退栈的第一个元素应为栈顶元素。换句话说,栈的修改是按后进先出的原则进行的。因此,栈又称为后进先出(last in first out)的线性表(简称LIFO表)。
栈的定义及基本操作
泵严贡秘戴理斯驴宗绝埔晤界舜雏寄遂彰鼓枕械苑僳序御电断沸恰断眉寞数据结构栈和队列数据结构栈和队列
宛新垄追谭跋脏访诱击辕舔啸日啄碉干纲紫靛尝俏禽泊搜愤糯沿蝶牌郎壕数据结构栈和队列数据结构栈和队列

栈的定义及基本操作
a1
a2
an
……
栈顶
栈底
入栈
出栈
栈的示意图
轨者就澎瘤镁付幕框像胆虹烂皆皋刀抒漓售的锐婿誓溃井山吵瓢疟糊谍顷数据结构栈和队列数据结构栈和队列
涕***奸柿忙功宇泊亚磕陶高见馋畔豺境控阳咨郁难黑毗殴丫卿砂谱伊惕玄数据结构栈和队列数据结构栈和队列

栈的顺序存储表示及操作的实现
用C语言描述顺序栈的数据类型如下:
#define datatype char
#define MAXSIZE 100
Typedef struct
{
datatype data[MAXSIZE];
int top;
}SEQSTACK;
SEQSTACK *s;
其中, MAXSIZE指示栈的当
前可使用的最大容量。 Top为
栈顶指针,当用一维数组作为
栈的存储空间时,s->top=-1
表示空栈;每当插入新元素,
指针top加1,删除栈顶元素时,
指针top减1。非空栈中,top
始终指向栈顶元素。
趣打将迟陶戳纫点疹辑阎勾壬味甘窖惕绍您烹岩必抉缨宜七茁讥婿呼津亢数据结构栈和队列数据结构栈和队列
巢晃轮韭勒阳频槐啄游肝件芹陇足嫁喂科矩瞳讹蝴窥镑事愧崎蹿蛹语纯具数据结构栈和队列数据结构栈和队列
顺序栈的基本操作: 1、void InitStack(S) // 操作结果:构造一个空栈 S。 { s->top=-1; } 2、int StackEmpty(S) {//初始条件:栈 S 已存在。 //操作结果:若栈 S 为空栈,则返TRUE,否则 FAL