- 1、本文档共63页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 栈和队列 本章重点: 栈的特点及存储结构上操作的实现 栈的应用 队列的特点及存储结构上操作的实现 队列的应用 如何从后缀式求值? 先找运算符, 再找操作数 从原表达式求得后缀式的规律为: 1) 设立操作数栈; 2) 设表达式的结束符为“#”, 予设运算符栈的栈底为“#”; 3) 若当前字符是操作数, 则直接发送给后缀式。 4) 若当前运算符的优先数高于栈顶运算符,则进栈; 5) 否则,退出栈顶运算符发送给后缀式; 6) “(” 对它之前后的运算符起隔离作用,“)”可视为自相应左括弧开始的表达式的结束符。 从原表达式求得后缀式的规律为: void transform(char suffix[ ], char exp[ ] ) { InitStack(S); Push(S, ?#?); p = exp; i=0; while (Gettop(S,c) c!= ?#?)||*p!= ?#?{ if (!IN(ch, OP)) strcopy((Suffix[i++], *p++); else switch (compare[c,*p]) { case ?? : Push(S ,*p++); break; case ?=? : Pop(S, c);p++;break; case ?? : Pop(S, c); strcopy((Suffix+(i++), c); break; } } // while } // CrtExptree 例四、实现递归 将所有的实在参数、返回地址等信息传递给被调用函数保存; 为被调用函数的局部变量分配存储区; 将控制转移到被调用函数的入口。 当在一个函数的运行期间调用另一个函数时,在运行该被调用函数之前,需先完成三项任务: 保存被调函数的计算结果; 释放被调函数的数据区; 依照被调函数保存的返回地址将控制转移到调用函数。 从被调用函数返回调用函数之前,应该完成下列三项任务: 多个函数嵌套调用的规则是: 此时的内存管理实行“栈式管理” 后调用先返回 ! 例如: void main( ){ void a( ){ void b( ){ … … … a( ); b( ); … … }//main }// a }// b Main的数据区 函数a的数据区 函数b的数据区 递归工作栈:递归过程执行过程中占用的 数据区。 递归工作记录:每一层的递归参数合成 一个记录。 当前活动记录:栈顶记录指示当前层的 执行情况。 当前环境指针:递归工作栈的栈顶指针。 递归函数执行的过程可视为同一函数进行嵌套调用,例如: void hanoi (int n, char x, char y, char z) { // 将塔座x上按直径由小到大且至上而下编号为1至n // 的n个圆盘按规则搬到塔座z上,y可用作辅助塔座。 1 if (n==1) 2 move(x, 1, z); // 将编号为1的圆盘从x移到z 3 else { 4 hanoi(n-1, x, z, y); // 将x上编号为1至n-1的 //圆盘移到y, z作辅助塔 5 move(x, n, z); // 将编号为n的圆盘从x移到z 6 hanoi(n-1, y, x, z); // 将y上编号为1至n-1的 //圆盘移到z, x作辅助塔 7 } 8 } 8 3 a b c 返址 n x y z 5 2 a c b 5 1 a b c 7 1 c a b void hanoi (int n
您可能关注的文档
- 《杜甫“万方多难”中成就的“诗圣”》ppt课件.ppt
- 《法理学基础》的复习重点与考试题型.ppt
- 第三章2new.ppt
- 第三章2010红外光谱法最后一周课本科生.ppt
- 《法拉第电磁感应定律》公开课2016129.ppt
- 第三章12温度测量.ppt
- 第三章2_地表水资源量评价(免费阅读).ppt
- 第三章2市场调查校外(论文资料).ppt
- 第三章2信道容量.ppt
- 第三章2二维瞬态分析.ppt
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
文档评论(0)