toh.cpp
来自「经典c++程序的实现」· C++ 代码 · 共 26 行
CPP
26 行
#include <iostream.h>
#include <stdlib.h>
#include "..\include\book.h"
typedef int POLE;
#define move(X, Y) cout << "Move " << (X) << " to " << (Y) << "\n";
void TOH(int n, POLE start, POLE goal, POLE temp) {
if (n == 0) return; // Base case
TOH(n-1, start, temp, goal); // Recursive call: n-1 rings
move(start, goal); // Move one disk
TOH(n-1, temp, goal, start); // Recursive call: n-1 rings
}
int main(int argc, char** argv) {
if (argc != 2) {
cout << "Usage: toh <num_of_disks>\n";
exit(-1);
}
cout << "Doing " << atoi(argv[1]) << " disks\n";
TOH(atoi(argv[1]), 1, 3, 2);
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?