189 8069 5689

字符串的排列——28-创新互联

输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。

创新互联建站是一群有想法、有热情,对互联网抱有执着信念的年轻人,愿用自己的智慧和热情,帮助您使用好互联网工具,成为您的建站英雄,成为您网站制作和网络营销的“秘密武器”,专注于网站策划、备案、域名申请、设计、后台开发、关键词优化排名、运营管理、维护服务、微信网站、手机网站制作设计,网站上线不是大家合作的终结,相反,网站维护才刚刚开始,我们期待常年累月的网站运行过程总着为您提供更多的支持。我们致力于解决问题,创造价值,不推诿,主动承担。

  对于一个字符来说,只有一个排列就是其自身,那么对于多个字符的组合来说,也是有规律可循的:可以在字符串中选出一个字符来固定出头部,比如上述先用a来开头,那么后面的部分就由b、c来组成,之后再将b、c分别更换为头部,后面的就由剩下的字符来组成,而如果字符串中的字符比较多的时候,可以先从字符串的尾部开始排列,首先排列最后两个字符,交换后面两个字符,然后增加到三个字符,更换头部,排列剩下的部分,再依次增加到四个字符,更换头部,排雷剩下的部分......因此,这种思路可以用递归来实现:

#include 
using namespace std;

void PrintAllArray(char* str, char *p_start)
{
    if(str != NULL)//判断参数有效性
    {   
        //当遍历到字符串结尾的时候就应当将字符串打印出来
        if(*p_start == '\0')
        {
            cout<

运行程序:

字符串的排列——28

《完》

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


分享名称:字符串的排列——28-创新互联
文章起源:http://cdxtjz.cn/article/epeej.html

其他资讯