麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
排列函数
悬赏分:20 - 2007年08月22日

从网上参考了C++的代码, 模仿写了个PHP的, 有些朋友需要。 这个只是基础算法, 如果要实际应用, 输出部分要改成保存到数组中。 排列函数定义 [php]function permute($pos){ global $n ,$r , $used , $p ; /*如果已是第r个元素了,则可打印r个元素的排列 */ //如果要实际应用,这里要保存到数组中。 if ($pos==$r) { for ($i=0; $i<$r; $i++) echo $p[$i]+1; echo "
"; return; } for ($i=0; $i<$n; $i++) if ($used[$i]==0) { /*如果第i个元素未用过*/ /*使用第i个元素,作上已用标记,目的是使以后该元素不可用*/ $used[$i]++; /*保存当前搜索到的第i个元素*/ $p[$pos] = $i; /*递归搜索*/ permute($pos+1); /*恢复递归前的值,目的是使以后改元素可用*/ $used[$i]--; } }[/php] 使用部分 [php]$n = $_POST['n'] ; $r = $_POST['r'] ; if($n>=$r){ $used = array(); $p=array(); for($i=1;$i<=$n;$i++){ $used[$i]=0; } permute(0); }[/php] 演示地址 : http://demo.naturedesign.com.hk/client/test/mytest.php

mytest.rar

提问者:seakingx   08-22 15:03
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
1 + 29 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM