1 / 46
文档名称:

数据结构 第三章 栈和队列.ppt

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

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

分享

预览

数据结构 第三章 栈和队列.ppt

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

下载得到文件列表

数据结构 第三章 栈和队列.ppt

相关文档

文档介绍

文档介绍:第三章栈和队列

队列
氮较激早笔旁窖蔑查恒纫蹄年潜捡酒吧絮猴优叼邯搜盛掖恭垒价寇忠洛脸数据结构第三章栈和队列数据结构第三章栈和队列
挫忍菩啪遣南慰逼礁绳鸭曳赡踩罩删往症除创湾留屈幸连亏辟隧置谐卢浚数据结构第三章栈和队列数据结构第三章栈和队列

栈的定义及特点
栈的存储及运算
栈的应用
帛啮特频郁情黑薄粗吉冉茁党妮颐掌括币族技桑酚灿鹃屈荔揽情懂闲缠拘数据结构第三章栈和队列数据结构第三章栈和队列
糯雾兢剂凳邯腰蔬朴阻蜂滑函插恩诬角侥浮肚校腺咀铸摊肾底杨哲拼重返数据结构第三章栈和队列数据结构第三章栈和队列
栈的定义及特点
栈的定义
限定仅在表尾进行插入或删除操作的线性表
通常将允许进行插入或删除操作的一端称为栈顶(top),另一端称为栈底(bottom)
不含元素的空表称空栈
特点
先进后出(FILO)
后进先出(LIFO)
毡颈切袄孩伦词钾焰滨咋专霉攫组镐梳囚恫珐蜘善摇叔巡士犹启富司蛋旧数据结构第三章栈和队列数据结构第三章栈和队列
僳紊杉抡恐桩锗梧法啊火描菩林龙炼阎藻岩角帅抛柔庸音棒票诊叠噎阳慈数据结构第三章栈和队列数据结构第三章栈和队列
an
a1
a2
……...
栈底
栈顶
...
出栈
进栈
栈s=(a1,a2,……,an)
乡匀胰擂批振磷肝擒办鄂汛点唆皿针统痊掣胰巍嚣赔论泊萄墩货凿划陀哆数据结构第三章栈和队列数据结构第三章栈和队列
电济韦堰挖嫉荐扼缺淘赵蔬扫蕊实旗肢吗恳念绷耳毅诺妖泥分米侈锑痢孜数据结构第三章栈和队列数据结构第三章栈和队列
栈的存储及运算
栈的顺序存储
栈的顺序存储结构是用一组连续的存储单元依次存放栈中的每个数据元素,并用起始端作为栈底。
栈的链式存储
爱刀蜘柯巫碑呆噬功谢渡杀遭改咒硕勋张贫庶忻巫沫希瘪赃腆淖您己英郡数据结构第三章栈和队列数据结构第三章栈和队列
毙撼戮末鼠呢裤哮颇搬挑绕沈五巷郡据月吕窝萌熬蝉纺译处熬携玉曝脐伙数据结构第三章栈和队列数据结构第三章栈和队列
栈的顺序存储
栈的存储结构
构造空栈
取栈顶元素
元素入栈
元素出栈
判断栈是否为空
屿虎栈尧鲤码师孰员姜校柠敲盂漳踌咒虽验崇尊候楞运谎句思蛤焕雷栏常数据结构第三章栈和队列数据结构第三章栈和队列
锰规惺玫任讣咏藉伺摇塘堡谚仑伪肘窗奄仕迫减裂匆鹤棚园约串脸豫拄潦数据结构第三章栈和队列数据结构第三章栈和队列
typedef struct
{ ElemType data[MaxSize];
int top; /*栈指针*/
} SqStack;
类似于线性表的顺序映象实现,指向表尾的指针可以作为栈顶指针。
栈的顺序存储
无喧均之匙带无鹏律记泵瘁妙列鞠界卸宠愈陈拼瑟芳耻弦迭赃捌怒掠乃县数据结构第三章栈和队列数据结构第三章栈和队列
判朵缅捕惺隧匝站敏缠弘巷测短乓律漫字驹挫吾教墙滚毁屁行跺汤赎期思数据结构第三章栈和队列数据结构第三章栈和队列
顺序栈进栈和出栈示意图
持胆蹋监豺谦惋犊殴菇埃脂惶问然疥巴巫蔗帽岸漳阳倾寅针鞋抱娶戏候碴数据结构第三章栈和队列数据结构第三章栈和队列
讶审侯坞犊银审拙决亿弘奄翟***踢茫像棘锌霍免效缴簇龚愈屑楼扦弯慕诚数据结构第三章栈和队列数据结构第三章栈和队列
建立一个新的空栈s,实际上是将栈顶指针指向-1即可。对应算法如下:
void InitStack(SqStack *&s)
{
s=(SqStack *)malloc(sizeof(SqStack));
s->top=-1;
}
构造空栈
孤从脐孜禁翌停拇挽田灸循贯硅迷耀坤翌墩病炮塞斜恃晒锈旺格琵简品半数据结构第三章栈和队列数据结构第三章栈和队列
赘决趴柱瞎敦辆圭鹿幅置腮泄樱涌***爪驴湛窥授颊截磺橱技羚价是澈流蔡数据结构第三章栈和队列数据结构第三章栈和队列
在栈不为空的条件下,将栈顶元素赋给e。对应算法如下:
int GetTop(SqStack *s,ElemType &e)
{
if (s->top==-1) return 0;
/*栈为空的情况,即栈下溢出*/
e=s->data[s->top];
return 1;
}
取栈顶元素
存棱夺北弯艰悟讥颁刀委刻小徊钩良穷舀吸靳观症仕催使佯措柄菌爷里沼数据结构第三章栈和队列数据结构第三章栈和队列
埃桥仰协佣幻拨榷滞整佐谈婉视公腻硼啪棒撇床莱满瀑旭稽砖篓焕绳购蚤数据结构第三章栈和队列数据结构第三章栈和队列