下载此文档

第三章栈和队列.ppt


文档分类:IT计算机 | 页数:约85页 举报非法文档有奖
1/85
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/85 下载此文档
文档列表 文档介绍
第三章栈和队列
栈的顺序存储
# define Maxsize 100+1
typedef struct {
elemtype ST[Maxsize]
int top;
} stack;
staS)//清栈
否则 入栈
Date
20
while (ch != EOF && ch != '\n') {
switch (ch) {
case '#' : Pop(S,e); break;
case '@': ClearStack(S); break;// 重置S为空栈
default : Push(S, ch); break;
}
ch = getchar(); // 从终端接收下一个字符
}
ClearStack(S); // 重置S为空栈
if (ch != EOF) ch = getchar();
while (ch != EOF) { //EOF为全文结束符
将从栈底到栈顶的字符传送至调用过程的
数据区;
i
l
h
w
Date
21
表达式 ::= (操作数1) + (运算符op) + (操作数2)
操作数 ::= 简单变量 | 表达式
简单变量 :: = 标识符 | 无符号整数
例2 表达式求值
-----利用算符优先级法则
Date
22
算符间的优先级关系
1 2
+

*
/


#
+















*







/













=







#





=
Date
23
例如: Exp = a  b + (c  d / e)  f
中缀式: #a  b + c  d / e  f#
使用两个栈:
栈OPTR寄存运算符OP (包括()和#)
栈OPND寄存操作数
Date
24
例如: #4+ 2  3  10 / 5 #
OPTR
OPND
#
4
+
Date
25
算符间的优先级关系
1 2
+

*
/


#
+















*







/













=







#





=
Date
26
例如: #4+ 2  3  10 / 5 #
OPTR
OPND
#
4
+
2
+
+

Date
27
算符间的优先级关系
1 2
+

*
/


#
+















*







/













=







#





=
Date
28
例如: #4+ 2  3  10 / 5 #
OPTR
OPND
#
4
+
2

3

Date
29
算符间的优先级关系
1 2
+

*
/


#
+















*







/













=







#





=
Date
30

第三章栈和队列 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数85
  • 收藏数0 收藏
  • 顶次数0
  • 上传人孔乙己
  • 文件大小1.14 MB
  • 时间2022-05-17