【数据结构】递归算法—汉诺塔
发布时间:2020-12-15 06:01:55 所属栏目:安全 来源:网络整理
导读:汉诺塔的问题,也是一个经典的递归算法问题。 下面是自己总结的一张整体流程图。 下面是代码,代码虽简单,但理解其内部运行原理很重要。 //====================================================================== // // Copyright (C) 2014-2015 SCOTT /
汉诺塔的问题,也是一个经典的递归算法问题。
下面是自己总结的一张整体流程图。
下面是代码,代码虽简单,但理解其内部运行原理很重要。 //====================================================================== // // Copyright (C) 2014-2015 SCOTT // All rights reserved // // filename: HanNuoTa.c // description: a demo to display HanNuoTa // // created by SCOTT at 02/10/2015 // http://blog.csdn.net/scottly1 // //====================================================================== #include <stdio.h> void HanNuoTa(int n,char a,char b,char c) { if( n < 1 ) return ; HanNuoTa(n-1,a,c,b); printf("把第%d盘子通过%c移到%cn",n,c); HanNuoTa(n-1,b,c); } int main() { int num; printf("Input The Num you want to create:"); scanf("%d",&num); HanNuoTa(num,'A','B','C'); return 0; } 运行结果:
如果对电脑的算法有怀疑,大家可以自己动手算算,看看它的方法是不是最优的。
原创文章,转载请著名出处:http://blog.csdn.net/scottly1/article/details/43705291 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |