/***************************************************************/ * Copyright (c) 2009 eryar All rights reserved. * * * * File : Main.cpp * * Date : 2009-03-28 22:25 * * Author : eryar@163.com * * * * Description: * * Hanoi Tower problem and binary tree Inorder Traversal. * * * /***************************************************************/ #include <iostream> using namespace std; void MoveDisk(char origin, char target); void Hanoi(char origin, char aid, char target, int disk); int main(int argc, char *argv[]) { Hanoi('A', 'B', 'C', 3); return 0; } /* Parameter : * TYPE NAME DESCRIPTION * char [origin] Origin stick * char [aid] Aid stick * char [target] Target stick * * Return : void * Description : Hanoi tower problem. */ void Hanoi(char origin, char aid, char target, int disk) { if (disk == 1) { MoveDisk(origin, target); return ; } Hanoi(origin, target, aid, disk-1); MoveDisk(origin, target); Hanoi(aid, origin, target, disk-1); } // End of Hanoi /* Parameter : * TYPE NAME DESCRIPTION * char [origin] Origin stick * char [target] Target stick * * Return : void * Description : Move disk from origin stick to target stick. */ void MoveDisk(char origin, char target) { cout<<origin<<"->"<<target<<endl; } // End of MoveDisk