栈满isFull()-东南大学计算机科学与工程学院课件.pptVIP

  • 4
  • 0
  • 约9.58千字
  • 约 56页
  • 2019-04-28 发布于贵州
  • 举报

栈满isFull()-东南大学计算机科学与工程学院课件.ppt

栈与递归 问题解法是递归的 例如,汉诺塔 (Tower of Hanoi) 问题的解法 有3根标号为A、B、C的柱子,A柱上又叠着64个从小到大排放的盘子。目的是要将A柱的盘子全部移到C柱上。移动条件是一次只能移动一个盘子,移动过程中大盘子不能放在小盘子上面 求解汉诺塔问题的递归算法 若 n = 1,将盘子直接从 A 柱移到 C 柱。 否则,执行以下三步: 用 C 柱做过渡,将 A 柱上的(n-1) 个盘子移到 B 柱上; 将 A 柱上最后一个盘子直接移到 C 柱上; 用 A 柱做过渡,将 B 柱上的(n-1) 个盘子移到 C 柱上。 栈与递归 问题解法是递归的 例如,汉诺塔 (Tower of Hanoi) 问题的解法 void Hanoi ( int n, char A, char B, char C ) { if (n == 1) printf( move %s, A, to %s , C ); else { Hanoi ( n-1, A, C, B ); printf ( move %s, A, to %s , C ); Hanoi ( n-1, B, A, C ); } } 3个圆盘的汉诺塔的移动 栈与递归 问题解法是递归的 例如,汉诺塔 (Tower of Hanoi) 问题的解

文档评论(0)

1亿VIP精品文档

相关文档