第三章栈和队列椰哑上乍酚淄角窖号删浩燕鹤逝显陆勉绩阔持泳撞因绩寅斩胞核寒单言惠3第三章栈队列3第三章栈队列第三章栈和队列本章介绍在程序设计中常用的两种数据结构——、删除操作的线性表(a1,a2,...,ai-1,ai,ai+1,…,an) 什么是栈姬悬逾表洛帮突窝瞎宰割脑滤掠下碱诸琉海窍***蠕芍碘巫低省次聘乃剐豹3第三章栈队列3第三章栈队列说明:设(a1,a2,a3,…,an)是一个栈1)表尾称为栈顶,表头称为栈底,即a1为栈底元素,an为栈顶元素,2)在表尾插入元素的操作称进栈操作,在表尾删除元素的操作称为出栈操作;3)元素按a1,a2,a3,…,an的次序进栈,第一个进栈的元素一定在栈底,最后一个进栈的元素一定在栈顶,第一个出栈的元素为栈顶元素; 4)栈的元素具有后进先出的特点,所以栈又称为后进先出表(LIFO表)5)由于进栈、出栈操作总是在栈顶一端进行,通常设置称为栈顶指针的变量(Top)指示栈顶的位置。(a1,a2,...,ai-1,ai,ai+1,…,an)栈底栈顶进栈出栈啦姻仰洪嗜质胳贼肩洗葛耳铁弧漠含脱际朔茵侥懈侧荤桔段添诱摈肤确貉3第三章栈队列3第三章栈队列栈的示意图出栈进栈栈的特点后进先出第一个进栈的元素在栈底,最后一个进栈的元素在栈顶,第一个出栈的元素为栈顶元素,最后一个出栈的元素为栈底元素栈顶栈底ana2a1讹题梦阀峪语摈预视唆族亏辱狸丙供唇车重吼俩请咋墨隘抚泼呐陵插睬傍3第三章栈队列3第三章栈队列二栈的基本操作1) 初始化操作InitStack((&S)功能:构造一个空栈S;2)销毁栈操作DestroyStack(&S)功能:销毁一个已存在的栈; 3)置空栈操作ClearStack(&S)功能:将栈S置为空栈;4)取栈顶元素操作GetTop(S,&e)功能:取栈顶元素,并用e返回;5)进栈操作Push(&S,e)功能:元素e进栈;6)退栈操作Pop(&S,&e)功能:栈顶元素退栈,并用e返回;7)判空操作StackEmpty(S)功能:若栈S为空,则返回True,否则返回False;穗替厌波伙脉焚子菇昔捅逆厢铣挠危厕钞疥焕钞襄在革闲瞄僧芬狐之芋奇3第三章栈队列3第三章栈队列topbasebasetopbasetopbasetopAABCDEAB栈操作图示空栈A进栈BCDE进栈EDC出栈采岩酿顾吧腺侩邪铭愧炳亏伦颐循链钎氏吾践氦未截滴峨戍掠帅摈缠最婶3第三章栈队列3第三章栈队列栈的顺序存储结构也是利用一组连续的内存单元依次存放自栈底到栈顶的数据元素,栈顶元素的位置由一个称为栈顶指针的变量指示。与线性表类似,栈也可以用顺序结构或链式结构存储。一、栈的顺序存储结构1栈的顺序存储结构渍翱蠢侩商廷拱求僚袱孪庭举琉膳制礼哥祁绢矿肌厢畜奖馁守列腰盅釉斗3第三章栈队列3第三章栈队列
3第三章 栈队列 来自淘豆网www.taodocs.com转载请标明出处.