PHP全排列递归算法
来源:互联网 发布:网络金融营销普遍 编辑:程序博客网 时间:2024/06/14 23:52
function getAllPerm($source) { $rs = array(); sort($source); $last = count($source) - 1; $z = 0; $x = $last; $rs[] = $source; while($x > 0) { // 相邻的两个元素,先将x的值赋给y,x再自减1 $y = $x--; // 如果前一个元素的值小于后一个元素的值 if($source[$x] < $source[$y]) { // 从尾部开始,找到第一个大于 $x 元素的值 www.it165.net $z = $last; while($source[$x] > $source[$z]) { $z--; } // 交换 $x 和 $z 元素的值 list($source[$x], $source[$z]) = array($source[$z], $source[$x]); // 将 $y 之后的元素全部逆向排列 for($i = $last; $i > $y; $i--, $y++) { list($source[$i], $source[$y]) = array($source[$y], $source[$i]); } $rs[] = $source; $x = $last; } } return $rs;} $source = array('1','2','3');$rs = getAllPerm($source);print '<pre>';print_r($rs);print '</pre>';
0 0
- PHP全排列递归算法
- 全排列递归算法
- 全排列递归算法
- 全排列算法-递归
- 全排列递归算法
- 全排列递归算法
- 全排列递归算法
- 全排列递归算法
- 全排列递归算法
- 全排列递归算法
- 全排列递归算法
- 全排列递归算法
- 递归算法---全排列
- 全排列递归算法
- 全排列递归算法
- 全排列递归算法
- 全排列递归算法
- 全排列递归算法
- x&(x-1)
- Cocos2d-X中的坐标
- MySQL之中文排序
- ExtJS常见问题解决办法
- HDU 5066 Harry And Physical Teacher 物理
- PHP全排列递归算法
- 【BZOJ】【P2045】【双亲数】【题解】【莫比乌斯反演】
- 推荐:懂程序、不会美术怎么办?
- 【数据结构】第二章 线性表 学后总结与心得
- 去掉DedeCMS"当前位置"面包屑结尾的大于号">"
- 【Linux学习笔记】Unix/Linux 信号详解
- Makefile详解
- 获取计算机的IP地址
- Produce-Consumer Problem