汉诺塔非递归算法.我只是将盘子的数量等于2,3的情况代到网上别人给的算法中验证了一下,没有错。并没有证明算法的正确性。算法是否有效,有待大家证明。 WzI8_uM
j*
*s^Sg
include <iostream> Kmdlf,[3d
#include <stdlib.h> RJON90,J
60)iw4<wf
#ifdef _WIN32 VT.;:Q
using namespace std; d)"?mD:m/M
#endif ;9}pOzF1q
2*w:tT8+X
static void hanoi(int height) ]l(wg]
{ 5&e<#"
int fromPole, toPole, Disk; mnID3=JF
int *BitStr = new int[height], //用来计算移动的盘的号码 >"@?ir
*Hold = new int[height]; //用来存贮当前的盘的位置。hold[0]为第一个盘所在的柱号 ?*oKX
char Place[] = {'A', 'C', 'B'}; J-<^P5
int i, j, temp; 8l"O(B'#Z
C( id=F
for (i=0; i < height; i++) $\"9<o|h
{ CY&
hIh~S@
BitStr = 0; ]D!k&