合工大数据结构06-递归解读.ppt

* 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:

文档评论(0)

1亿VIP精品文档

相关文档