1 / 35
文档名称:

数据结构之栈和队列.ppt

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

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

分享

预览

数据结构之栈和队列.ppt

上传人:dyx110 2019/12/19 文件大小:768 KB

下载得到文件列表

数据结构之栈和队列.ppt

文档介绍

文档介绍:第三章栈和队列栈和队列是两种特殊的线性表,是操作受限的线性表,(stack)栈的定义和特点定义:限定仅在表尾进行插入或删除操作的线性表,表尾—栈顶,表头—栈底,不含元素的空表称空栈特点:先进后出(FILO)或后进先出(LIFO)ana1a2……...栈底栈顶...出栈进栈栈s=(a1,a2,……,an)#defineSTACK_INIT_SIZE100;#defineSTACKINCREAMENT10;typedefstruct{ SELemType*base; SElemType*top; intstacksize;}SqStack;栈的存储结构顺序栈实现:动态栈顶指针top,指向实际栈顶后的空位置,初值为top=basetop进栈Atop出栈栈满BCDEFtop=base,栈空,此时出栈,则下溢(underflow)top-base>=stacksize,栈满,此时入栈,需重新分配空间,如空间分配失败则上溢(overflow)toptoptoptoptoptoptoptoptoptoptop栈空base=0123450栈空top=0123450base123450ABCDEFbase算法构造空栈s返回栈顶元素if(==)returnERROR;e=*(-1);进栈if(->=){=(ElemType*)realloc(,+STACKINCREAMENT)*sizeof(ElemType);if(!)exit(OVERFLOW);=+;+=STACKINCREAMENT;}*++=e;出栈if(==)retuen ERROR;e=*--;入栈算法出栈算法链栈栈顶^…...topdatalink栈底结点定义入栈算法出栈算法typedefstructnode{intdata;structnode*next;}JD;^…...栈底toptopxptop^…...栈底topq数制转换:(159)10=(237)81598198280237余7余3余2toptop7top73top732栈的应用例把十进制数159转换成八进制数括号匹配的检验检验括号是否匹配的方法可用"期待的急迫程度"这个概念来描述。toptop[top[(top[((top[(top[top例如考虑下列括号序列:[(())]123456回文游戏:顺读与逆读字符串一样(不含空格)(原串),非回文若直到栈空都相等,回文字符串:“madamimadam”