递归调用结束栈顶-西安科技大学.ppt

递归调用结束栈顶-西安科技大学

第九讲 第三章 栈和队列 1.教学目的: 3.1.2 基本操作 (1) 栈初始化Init_Stack(S):构造了一个空栈。 (2) 判栈空Empty_Stack(S):栈S存在,若S为空栈返回为1,否则返回为0。 (3) 入栈Push_Stack(S, x):栈S已存在且不满,在栈S的顶部插入一个新元素x,x成为新的栈顶元素。栈发生变化。 (4) 出栈Pop_Stack(S):栈S存在且非空。将栈S的顶部元素从栈中删除,栈中少了一个元素。栈发生变化。 (5) 读栈顶元素Top_Stack(S):栈S存在且非空。栈顶元素作为结果返回,栈不变化。 栈本身就是一个线性表。 通常0下标端设为栈底,这样空栈时栈顶指针 S-top=-1; 入栈时,栈顶指针加1,即 S-top++; 出栈时,栈顶指针减1,即 S-top-- 例3.1 表达式求值。 1. 中缀表达式求值 例如,10+(5-3)*5就是一个中缀表达式 这里处理的是理想化状态下的四则运算表达式(即每个二目运算符在两个操作数的中间,假设操作数是整型常数,运算符只含加、减、乘、除等四种,界限符有左右括号和表达式起始、结束符“#”),例如,#(7+15)*(23-28/4

文档评论(0)

1亿VIP精品文档

相关文档