- 23
- 0
- 约1.7万字
- 约 44页
- 2017-04-17 发布于湖北
- 举报
* 6.5 递归程序的模拟——转换为非递归 由此流程图得程序如下: void P1( int n ){ stack s ; while ( n 0 ) { s.push ( n ); n = n - 1; } while ( !s.empty( ) ) { s.pop ( n ); cout n; } } stack s; n0 s.push(n); n=n-1; s.empty( )? s.pop (n ); L1: cout n; N Y L0 N Y * 6.5 递归程序的模拟——转换为非递归 例:将下面递归程序转换为等价的非递归程序。 void P(int n ){ if ( n 0 ){ cout n; P( n – 1 ); } } 解: 按转换规则及简化规则 进行转换细节不再赘述, 结果如右图所式: void P1(int W) { stack S; // 规则1 L0: // 规则2 if (n0 ) // 规则5 { coutn; // 规则5 S.push(n); // 规则3.a n=n-1; // 规则3.b goto L0; // 规则3.c L1: // 规则3.d } if (!S.empty( ) ) // 规则4 { S.pop(n); // 规则4.b goto L1; // 规则4.c } } * 6.5 递归程序的模拟——转换为非递归 void P1(int n) { stack s; L0: if (n0 ) { coutn; s.push (n); n=n-1; goto L0; L1: } if (!s.empty( ) ) { s.pop (n); goto L1; } } stack S; n0 coutn; s.push(n); n=n-1; s.empty()? s.pop (n ); L1: N Y L0 N Y * 6.5 递归程序的模拟——转换为非递归 由此流程图得程序如下: void P1(int n) {
您可能关注的文档
- 保养套餐奖励精要.ppt
- 各类食物的营养价值10体教讲述.ppt
- 保利物业工程管理 _26p_2012年3月_胡伟_课程_教训_讲义精要.ppt
- 保健型植物的家居生态精要.ppt
- 【人教版】2017版高考一轮:2.2《大气的垂直分层、对流层大气的受热过程》ppt课件讲解.ppt
- 各级管理人员安全讲述.doc
- 【优化指导】2016-2017学年高中语文第2单元诗的唐朝5杜甫诗四首课件语文版必修2讲解.ppt
- 保健按摩师的礼仪礼节精要.ppt
- 【优化指导】2016-2017学年高中语文第2单元诗的唐朝4李白诗三首课件语文版必修2讲解.ppt
- 【优化指导】2016-2017学年高中语文第二单元古代诗歌鉴赏7诗三首课件新人教版必修2讲解.ppt
原创力文档

文档评论(0)