字符串的排列——28

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

创新互联公司于2013年成立,是专业互联网技术服务公司,拥有项目网站设计、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元陇南做网站,已为上家服务,为陇南各地企业和个人服务,联系电话:18982081108

    对于一个字符来说,只有一个排列就是其自身,那么对于多个字符的组合来说,也是有规律可循的:可以在字符串中选出一个字符来固定出头部,比如上述先用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

《完》


当前文章:字符串的排列——28
分享网址:http://www.hxwzsj.com/article/ipieds.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 定制级高端网站建设 手机网站设计 成都网站设计 成都企业网站建设 手机网站制作 成都网站建设公司 成都网站设计公司 重庆企业网站建设 成都网站建设 成都网站建设 移动手机网站制作 成都商城网站建设 网站制作 梓潼网站设计 成都网站建设 盐亭网站设计 成都网站建设流程 阿坝网站设计 手机网站建设 手机网站制作 上市集团网站建设 宜宾网站设计