文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>[php]全排列非递归置换法

[php]全排列非递归置换法

时间:2011-01-17  来源:一缕青烟


<?php

function appendItem( $c , &$arr )
{
        if(!$arr) $arr[] = $c;
        else 
        {
                $p      = $arr;
                $arr  = array();
                foreach( $p as $k=>$v)
                {
                        $arr = array_merge($arr , walkString($c,$v) );
                }
        }
}

function walkString( $char , $string )
{
    $mt[] = $ns = $string.$char;
        $sl = strlen( $string );
        while( $sl )
        {
                $tmp            = $ns{$sl};
                $ns{$sl}        = $ns{$sl-1};
                $ns{$sl-1}      = $tmp;
                $mt[] = $ns;
                $sl--;
        }
        
        return $mt;
        
}
function combine( $array )
{
        $len = count( $array );
        $arr = array();
        for( $i=0 ; $i < $len ; $i++ )
        {
                appendItem( $array[$i] , $arr );
        }
        return $arr;
}
set_time_limit( 0 );
$arr = str_split('abcd');
print_r( combine($arr));
?>
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载