加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

【数据结构】递归算法—汉诺塔

发布时间: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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读