写一个函数,要求输入abc,则输出abc的所有排列:abc,acb,bca,bac,cab,cba

igaojie 2010-11-13 12:12:42
如题·~~~
...全文
728 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
igaojie 2010-11-13
  • 打赏
  • 举报
回复
刚才的我已经看懂了~~我也写了一个 但是登不上大雅之堂 呵呵·~

[Quote=引用 8 楼 amani11 的回复:]

return $array;这个就没用了,,,,呵呵,忘记注释,不好意思
[/Quote]
amani11 2010-11-13
  • 打赏
  • 举报
回复
return $array;这个就没用了,,,,呵呵,忘记注释,不好意思
amani11 2010-11-13
  • 打赏
  • 举报
回复
这样改,是不是很容易看明白。。。。思路就是遍历挑选一个出来。接着去掉选中的哪个,遍历挑选下一个,组成一个字符串

$str = 'ABC';
/*
$res = arrange(str_split($str));
*/
arrange(str_split($str));
print_r($res);
function arrange($arr = array(), $res = '')
{
if(empty($arr))
{
/*
$array[] = $res;
*/
$GLOBALS['res'][] = $res;
}
else
{
foreach($arr AS $k => $v)
{
unset($arr[$k]);
/*
foreach(arrange($arr, $res . $v) AS $t)
{
$array[] = $t;
}
*/
arrange($arr, $res . $v);
$arr[$k] = $v;
}
}
return $array;
}
igaojie 2010-11-13
  • 打赏
  • 举报
回复
佩服 佩服~~~~
igaojie 2010-11-13
  • 打赏
  • 举报
回复

太强大,强大到让我看不懂 哈哈哈··好好看看 分析分析先·~
[Quote=引用 4 楼 amani11 的回复:]

PHP code

$str = 'ABC';
$res = arrange(str_split($str));
print_r($res);
function arrange($arr = array(), $res = '')
{
if(empty($arr))
{
$array[] = $res;
}
else
{……
[/Quote]
amani11 2010-11-13
  • 打赏
  • 举报
回复

$str = 'ABC';
$res = arrange(str_split($str));
print_r($res);
function arrange($arr = array(), $res = '')
{
if(empty($arr))
{
$array[] = $res;
}
else
{
foreach($arr AS $k => $v)
{
unset($arr[$k]);
foreach(arrange($arr, $res . $v) AS $t)
{
$array[] = $t;
}
$arr[$k] = $v;
}
}
return $array;
}
zhangmj10 2010-11-13
  • 打赏
  • 举报
回复
顶!不错!
igaojie 2010-11-13
  • 打赏
  • 举报
回复
希望更多的人来写出更多的方法~~~~
sbtaxj 2010-11-13
  • 打赏
  • 举报
回复
这还不简单吗 看后盾网视频

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧