汉诺塔非递归算法.我只是将盘子的数量等于2,3的情况代到网上别人给的算法中验证了一下,没有错。并没有证明算法的正确性。算法是否有效,有待大家证明。 k=7+JI"J
1]yjhw9g
include <iostream> o:.6{+|N
#include <stdlib.h> 7[b]%i
-UhSy>m
#ifdef _WIN32 AXQG
using namespace std; XW^Sw;[efZ
#endif ]Uy
cT3A
kY$vPHZpN
static void hanoi(int height) &ND8^lR=Y;
{ p5`d@y\hj
int fromPole, toPole, Disk; g4`)n`
int *BitStr = new int[height], //用来计算移动的盘的号码 <+/:}S4w)
*Hold = new int[height]; //用来存贮当前的盘的位置。hold[0]为第一个盘所在的柱号 /.Fvl;!J;
char Place[] = {'A', 'C', 'B'}; +RuPfw{z
int i, j, temp; ^<