汉诺塔模型数据结构递归算法动画解析【原创

来源:https://www.sucaihuo.com/php/2215.html 2017-06-21 07:10浏览(2499) 收藏

实例中使用了jQuery框架中很少用的one方法为按钮绑定触发一次事件,还是使用了animate自定义了队列动画。实例中使用的是常规的Ajax方法向服务器请求完成动画需要的所有数据参数,服务器端使用的脚本语言是PHP,用到了PHP的可变变量、递归算法等知识点。虽然本实例使用的知识点比较多,但是思路清晰,能帮助学习数据结构和算法的人很容易理解队列、栈的原理。
汉诺塔模型数据结构递归算法动画解析
分类: PHP > 函数 难易: 高级
下载资源 下载积分: 60 积分
关注公众号,免费赠送安装视频教程、环境和学习视频,后面会不断更新。
$(function(){
      	$(".animate-btn").one("click",function(){
                    $.ajax({
                        type: 'POST',
                        url:  'getData.php',
                        data:{num:$(".woodblock").length},
                        dataType: 'json',
                        success: function(msg) {
                              var data =    new Array();
                              for(var obj in msg){
                                  data.push([msg[obj].name,msg[obj].obj,msg[obj].source,msg[obj].left,msg[obj].bottom]);
                              }

                              var i = 0;
                              setInterval(function(){
                                   $(".move"+data[i][0]).animate({bottom:'300px'},'fast');
                                   $(".move"+data[i][0]).animate({left:data[i][3]+'px'},'fast');
                                   $(".move"+data[i][0]).animate({bottom:data[i][4]+'px'},'fast');
                                   i++
                              },1500);
                        }

                        })      
                })
      })
<?php  
$num       = $_POST['num'];
//将所有圆盘从a移到b  
$data      = array();
function hanuota($n,$a,$b,$c){  
    global $step; 
    global $data; 
    global $A;
    global $B;
    global $C;
    if($b === 'C'){
    	$left    = 750-10*$n;
    }else if($b === 'B'){
    	$left    = 450-10*$n; 
    }else{
    	$left    = 150-10*$n;
    }
    if($n==1){  
        $step++;
        $data[$step]     = array('name'=>$n,'obj'=>$a,'source'=>$b,'left'=>$left,'bottom'=>$$b); 
        $$a -= 20;
        $$b += 20;
    }else{  
        hanuota($n-1,$a,$c,$b);  
        $step++; 
        $data[$step]     = array('name'=>$n,'obj'=>$a,'source'=>$b,'left'=>$left,'bottom'=>$$b);
        $$a -= 20;
        $$b += 20;
        hanuota($n-1,$c,$b,$a);  
    }  
    return $data;
}  
//移动的次数  
$step = 0; 
$data = array(); 
$A    = 200;
$B    = 0;
$C    = 0;
$databack = hanuota($num, 'A', 'B', 'C'); 
echo json_encode($databack);
 
?>
标签: 模型 数据 算法
声明:本文为原创文章,如需转载,请注明来源 sucaihuo.com并保留原文链接: https://www.sucaihuo.com/php/2215.html
评论0
头像

系统已开启自动识别垃圾评论机制,识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ 1915635791

1 2

代做工资流水公司菏泽贷款银行流水查询天津房贷收入证明开具福州工资流水app截图报价昆明打对公银行流水邢台入职流水代办徐州自存流水开具厦门做签证银行流水宁德房贷收入证明图片哈尔滨背调银行流水报价厦门背调流水漳州贷款流水制作深圳工资代付流水代开唐山办对公银行流水赣州代做入职银行流水淮安自存银行流水打印赣州购房银行流水公司太原办工资银行流水太原打银行流水账肇庆流水开具扬州消费贷流水查询汕头对公流水办理保定打薪资流水单信阳车贷银行流水 报价石家庄办入职流水淄博银行流水电子版样本泰州签证工资流水查询南宁工资流水单公司惠州办理自存银行流水常州公司银行流水代办长沙代做自存流水香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

代做工资流水公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化