- 1
- 0
- 约3.66千字
- 约 105页
- 2017-07-23 发布于河南
- 举报
第3章栈与队列-105 - v2
第3章 栈和队列;主要内容; 1. 掌握栈和队列类型的特点,并能在相应的应用问题中正确选用它们。;问题提出; 在各种程序设计语言中都有子程序(或称函数、过程)调用功能。而子程序也可以调用其它的子程序,甚至可以直接或间接地调用自身,这种调用关系就是递归。下面以求阶乘的递归方法为例,来分析计算机系统是如何处理这种递归调用关系的。
;求n!的递归方法的思路是:
相应的C语言函数是:
float fact(int n)
{float s;
if (n= =0||n= =1) s=1;
else s=n*fact(n-1);
return (s); }
若求5!,则有
main()
{ printf(“5!=%f\n”,fact(5)); }
;主函数
mani()
printf(“fact(5)”);计算机系统处理上述过程时,其关键是要正确处理执行过程中的递归调用层次和返回路径,也就是要记住每一次递归调用时的返回地址。在系统中是用一个线性表动态记忆调用过程中的路径,其处理原则为:
(1)在开始执行程序前,建立一个线性表,其初始状态为空。
(2)当发生调用(递归)时,将当前的调用的返回点地址插入到线性表的末尾;
(3)当调用(递归)返回时,其返回地址从线性表的末尾取出。
;概述;1. 栈的定义与基本运算;1.1 栈的定义; 根据栈定义,每次进栈的元素都被放在原栈顶元
您可能关注的文档
- 科学社会主义和社会主义制度.doc
- 第2次课 网页与动态图形.ppt
- 第2章 应用文本与图像.ppt
- 福建省外贸企业发展与现状分析 2.doc
- 福建省2013届新课标高考历史一轮复习:必修1 汉到元政治制度演变与明清君主专制制度加强.ppt
- 福建省长泰一中数学:1.1《命题与关系》PPT(新人教版选修1-1).ppt
- 科研思路和方法复习题2.doc
- 稳压器根据调整管工作状态.doc
- 稳压二极管原理电路与应用.doc
- 稳中求变 变中求新——安徽高考分析和对策.doc
- KdV方程的双Wronskian解研究.docx
- KDW53型矿用隔爆兼本安型电源箱出厂检验报告.docx
- 公司人事工作总结集合15篇.doc
- 2025-2026学年沪科版七年级数学下学期3月学情自测卷【安徽专用,测试范围:第6~7章】(全解全析).pdf
- 贵州省贵阳市观山湖区2023-2024学年八年级上学期期末物理试卷.docx
- Keggin结构钨钼铝酸杂多酸的制备及性能研究.docx
- KDX盾甲Pro隐形车衣三个月使用体验报告从选购到养护的全方位解析.docx
- 公司入职协议书7篇.doc
- 贵州省贵阳市观山湖区上学期八年级数学 期末考试卷(解析版).docx
- 贵州省贵阳市第十二中学高三下学期期中考试化学试卷(原卷版).docx
原创力文档

文档评论(0)