⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 算法 4.6.txt

📁 数据结构各种算法原代码及图形示例
💻 TXT
字号:
算法 4.6
int Ackerman ( int n,  int x,  int y ) {
  // 利用栈S求Ackerman函数的值,返回Ackerman(n, x, y)
      InitStack(S);  
      e.nval = n;  e.xval = x;  e.yval = y;  Push(S, e );    // ( n, x, y ) 进栈
      do {
          GetTop(S, e);
          while ( e.nval != 0 && e.yval != 0 ) {
            e.yval --;
            Push(S, e);                  // 新的参数值 (n, x, y-1) 进栈;
           }
          Pop(S, e);                     // 退出栈顶元素
          u = value (e.nval, e.xval, e.yval);   // 按定义计算  u = A (n, x, y );
          if ( ! StackEmpty(S) ) {
            Pop( S, e );                 // 退出栈顶元素
            e.nval --;  e . yval = e.xval;  e.xval = u;
            Push( S, e );                // 新的参数值 (n-1, u, x) 进栈
          }
       } while ( ! StackEmpty(S) ); 
       return u ;                        // 返回计算结果
} //Ackerman

int value ( int n, int x, int y ) {
  if ( n = = 0 )  return (x+1);
  else  switch ( n ) {
          case  1:  return x;
          case  2:  return 0;
          case  3:  return 1;
          default : return 2;
       }
} // value

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -