栈和队列.doc
《栈和队列.doc》由会员分享,可在线阅读,更多相关《栈和队列.doc(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流栈和队列.精品文档.第三章 栈和队列1何为栈和队列?简述两者的区别和联系。栈:是一种只允许在一端进行插入和删除的线性表,它是一种操作受限的线性表。在表中只允许进行插入和删除的一端称为栈顶(top),另一端称为栈底(bottom)。栈顶元素总是最后入栈的,因而是最先出栈;栈底元素总是最先入栈的,因而也是最后出栈。因此,栈也被称为“后进先出”的线性表。队列:队列(queue)是一种只允许在一端进行插入,而在另一端进行删除的线性表,它是一种操作受限的线性表。在表中只允许进行插入的一端称为队尾(rear),只允许进行删除的一端称为队头(front)。
2、队头元素总是最先进队列的,也总是最先出队列;队尾元素总是最后进队列,因而也是最后出队列。因此,队列也被称为“先进先出”表。区别和联系:从数据结构上看,栈和队列也是线性表,不过是两种特殊的线性表。 栈只允许在表的一端进行插入或删除操作, 队列只允许在表的一端进行插入操作、而在另一端进行删除操作。 因而,栈和队列也可以被称作为操作受限的线性表。 2若依次读入数据元素序列a,b,c,d进栈,进栈过程中允许出栈,试写出各种可能的出栈元素序列。可能的出栈序列:a,b,c,d b,c,d,a b,a,c,d a,b,d,c a,d,c,b a,c,b,d a,c,d,b b,d,c,a b,a,d,c c
3、,d,b,a c,b,d,a c,b,a,d d,c,b,a 等3试写一个算法,识别依次读入的一个以为结束符的字符序列是否为形如序列1序列2模式的字符序列。其中序列1和序列2中都不含字符&,且序列2是序列1的逆序列。例如,a+b&b+a是属该模式的字符序列,而1+3&3-1则不是。Status Model() /识别依次读入的一个以为结束符的字符序列是否为形如序列1&序列2模式的字符序列 /序列1和序列2中不包含字符&,序列1是序列2的逆序列 InitStack(s); c=getchar(); while (c!=&) Push(s,c); c=getchar(); c=getchar();
4、 while (c!=&!StackEmpty(s) Pop(s,x); if (c=x) c=getchar(); else return FALSE; if (c= & StackEmpty(s) return TRUE; else return FALSE;4试写一个判别表达式中开、闭括号是否配对出现的算法。Status Bracket_Test(char *str)/判别表达式中小括号是否匹配count=0;for(p=str;*p;p+)if(*p=() count+;else if(*p=) count-;if (countnext=Q;/InitCiQueue void EnCi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 队列
限制150内