堆栈和队列.pptVIP

  • 6
  • 0
  • 约7.86千字
  • 约 69页
  • 2016-11-28 发布于河南
  • 举报
堆栈和队列

堆栈 堆栈的应用 队列 队列的应用 在该函数中可以理解为求n!用fact(n)来表示,则求(n-1)!就用fact(n-1)来表示。 若求5!,则有 main() { printf(“5!=%f\n”,fact(5)); } 图中给出了递归调用执行过程。从图中可看到fact函数共被调用5次,即fact(5)、fact(4)、fact(3)、fact(2)、fact(1)。其中,fact(5)为主函数调用,其它则为在fact函数内的调用。每一次递归调用并未立即得到结果,而是进一步向深度递归调用,直到n=1或n=0时,函数fact才有结果为1,然后再一一返回计算,最终得到结果。 例4 算术表达式求值 表达式求值是程序设计语言编译中的一个最基本问题。它的实现方法是栈的一个典型的应用实例。 在计算机中,任何一个表达式都是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。其中操作数可以是常数,也可以是变量或常量的标识符;运算符可以是算术运算体符、关系运算符和逻辑符;界限符为左右括号和标识表达式结束的结束符。在本节中,仅讨论简单算术表达式的求值问题。在这种表达式中只含加、减、乘、除四则运算,所有的运算对象均为单变量。表达式的结束符为“#”。 算术四则运算的规则为: (1)先乘除、后加减; (2)同级运算时先左后右; (3)先括号内,后括号外。 计算机系

文档评论(0)

1亿VIP精品文档

相关文档