汉诺塔非递归算法.我只是将盘子的数量等于2,3的情况代到网上别人给的算法中验证了一下,没有错。并没有证明算法的正确性。算法是否有效,有待大家证明。 YJ:CqTy
NghQ#c
include <iostream> xy|;WB
#include <stdlib.h> 63k8j[$
IAtc^'l#
#ifdef _WIN32 ^Yn6kF
using namespace std; 5E.cJ{
#endif AS8T!
Ky$<WZs
static void hanoi(int height) 1x\%VtO>\b
{ b"f4}b
int fromPole, toPole, Disk; MKQa&Dvw
int *BitStr = new int[height], //用来计算移动的盘的号码 }"3L>%Q5
*Hold = new int[height]; //用来存贮当前的盘的位置。hold[0]为第一个盘所在的柱号 HD`Gi0
char Place[] = {'A', 'C', 'B'}; ;JAe=wt^'I
int i, j, temp; 3J[P(G>Q
;w@:
for (i=0; i < height; i++) ~xXB
!K~C
{ >j$f$*x
BitStr = 0; s2d;601*b
Hold = 1; 9@:&