用户操作
[即时聊天] [发私信] [加为好友]
大龄青年ID:hahawen
115476次访问,排名751好友0人,关注者1
hahawen的文章
原创 46 篇
翻译 0 篇
转载 37 篇
评论 85 篇
大龄青年的公告
主人:大龄青年/hahawen
QQ:303015292
最近评论
kjb:[url=http://www.sirio.com.cn/]softgel[/url]
结肠炎治疗上我们也有非常强的历史
[url=http://www.google0808.cn/]GOOGLE左侧排名[/url]
专业的[url=http://www.zjcffy.com/]金华翻译公司[……
翻译:[url=http://www.goldenolive.net.cn]翻译公司[/url]
[url=http://www.goldenolive.net.cn]翻译[/url]
翻译公司
翻译
ff:水泵
磁力泵
多级泵
[url=http://www.hengxinbanjia.com]搬家公司[/url]
[url=http://www.hengxinbanjia.com/qqtl.htm]搬家公司[/url]
[url=http://www.hengxinbanjia.com]北京搬家公司[/url]
[url=http://www.hengxinbanjia.com/cc……
ice:Air Jordans是专业的 Air jordan推荐服务提供商,为Air jordan提供用户的推荐,Air jordan推荐利用数据技术,实时分析Air jordan用户的兴趣和要求,可以增加Air jordan提升网站的使用体验,Air jordan网站的流量.
文章分类
收藏
相册
.net技术网站
devarticles
java技术网站
Hibernate中文网(RSS)
开源项目列表
php技术网站
pear官方网站
phpbuilder
phphub.com
php官方网站
StandardPHPLibrary
trip的blog,有好多的mail文章
zend官方网站
牛人的blog
其他的技术网站
xml资源下载
友情连接
王博的Blog(RSS)
娱乐网站
bt之家
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 用“类”来代替“递归方法”,用php举例。收藏

新一篇: 做作小的web功能,“php代码和html代码的混合应用”才是福音 | 旧一篇: php页面访问时,统一进行权限验证的设计

/***************************
 * author : 大龄青年
 * email :
wenadmin@sina.com
 * from: http://blog.csdn.net/hahawen
 * 转载请保留这部分信息,谢谢
***************************/

问题:一个楼梯有n个台阶,每次上一个或两个台阶,共有多少种上法, 每种走法的步骤是什么样的?
这个简单问题,我们通常的方法是写一个递归调用,简单明了。但是,这里通过类的叠加来实现,虽然本身没有太大的意义,但是这种设计的用途还是满多的,可以自己考虑考虑。


<?php

//一个楼梯有n个台阶,每次上一个或两个台阶,共有多少种上法, 每种走法的步骤是什么样的.
define('TOTLE_STEP', 10);
$p = '';
$obj = new step($p, 0, 0);
$obj->go();

class step{

 var $parent;
 var $count;
 var $step;
 var $son1;
 var $son2;

 function step(&$parent, $step, $count){
        $this->parent = &$parent;
        $this->step = $step;
        $this->count = $count + $step;
 }

 function go(){
  if($this->count==TOTLE_STEP)
   $this->callback();
        if($this->count<=TOTLE_STEP-1){
         $this->son1 = new step($this, 1, $this->count);
         $this->son1->go();
        }
        if($this->count<=TOTLE_STEP-2){
         $this->son2 = new step($this, 2, $this->count);
         $this->son2->go();
        }
 }

 function callback($str=''){
        if($this->parent!=null){
         $str = $this->step.$str;
         $this->parent->callback('--'.$str);
        }else{
         echo $str.'<br>';
        }
 }
}
?>

发表于 @ 2004年12月13日 16:32:00|评论(loading...)|编辑

新一篇: 做作小的web功能,“php代码和html代码的混合应用”才是福音 | 旧一篇: php页面访问时,统一进行权限验证的设计

评论

#x 发表于2004-12-13 17:29:00  IP: 220.195.163.*
你在go方法里实例化step类,这不就是递归吗
发表评论  


登录
Csdn Blog version 3.1a
Copyright © 大龄青年