hi,你好!欢迎访问本站!登录
本站由网站地图腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 教程 - 杂谈 - 正文 君子好学,自强不息!

【杂谈】PHP怎样完成字符串全排列组合?(图文+视频)

2019-11-18杂谈搜奇网31°c
A+ A-
本篇文章重要给人人引见 PHP字符串全分列算法细致是怎样完成的。

置信人人关于全分列的观点并不生疏,由于在高中或许大学的数学课文中是必不可少的一个课程学问点。全分列就是从n个差别元素中任取m(m≤n)个元素,根据肯定的顺序分列起来,叫做从n个差别元素中掏出m个元素的一个分列,当m=n时一切的分列状况叫全分列。

那末在我们PHP进修过程当中,也会碰到关于字符串全分列的题目。

下面我们经由过程细致的代码示例,为人人细致引见PHP字符串全分列算法。

<?php
$str = 'abc';
// 字符串转换为数组
$a = str_split($str);
// 挪用perm函数
perm($a, 0,count($a) - 1);
/**
 * 定义perm函数
 * @param $ar // 分列的字符串
 * @param $k // 初始值
 * @param $m // 最大值
 */
function perm(&$ar, $k, $m)
{
    // 初始值是不是即是最大值
    if ($k == $m) {
        // 将数组转换为字符串
        echo join('', $ar), PHP_EOL;
    } else {
        // 轮回挪用函数
        for ($i = $k; $i <= $m; $i++) {
            // 挪用swap函数
            swap($ar[$k], $ar[$i]);
            // 递归挪用本身
            perm($ar, $k + 1, $m);
            // 再次挪用swap函数
            swap($ar[$k], $ar[$i]);
        }
    }
}

function swap(&$a, &$b)
{
    $c = $a;
    $a = $b;
    $b = $c;
}

这里我们重要定义了两个要领perm和swap函数,并且在代码中细致得给人人解释了每一步操纵的寄义,有助于人人参考明白。

那末在上述代码中,我们涉及到递归算法,关于此学问点不清楚的朋侪能够参考这篇文章【PHP递归排序怎样完成的?】。

终究经由过程浏览器接见,字符串全分列效果以下:


本篇文章就是关于PHP完成字符串全分列组合的算法引见,具有肯定的参考价值,愿望对须要的朋侪有肯定的协助!

想要相识更多PHP学问,列位能够关注Ki4网PHP视频教程,迎接人人参考进修!

以上就是PHP怎样完成字符串全分列组合?(图文+视频)的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  移步手机端
【杂谈】PHP怎样完成字符串全排列组合?(图文+视频)

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章

本文来源:搜奇网

本文地址:https://www.sou7.cn/281875.html

关注我们:微信搜索“搜奇网”添加我为好友

版权声明: 本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。请记住本站网址https://www.sou7.cn/搜奇网。

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>