文档章节

字符串的全排列

秋风醉了
 秋风醉了
发布于 2014/08/24 16:28
字数 174
阅读 34
收藏 1

具体请参看这里:

http://blog.csdn.net/morewindows/article/details/7370155

http://blog.csdn.net/hackbuteer1/article/details/7462447

#include <assert.h>
#include <iostream>

using std::cout;
using std::endl;

//在交换过程中,没有改变指针的值,
//而是改变指针所指向的内容
void Permutation(char* pStr, char* pBegin)
{
    assert(pStr && pBegin);

    if(*pBegin == '\0')
    {
        printf("%s\n",pStr);
    }
    else
    {
        for(char* pCh = pBegin; *pCh != '\0';)
        {
            std::swap(*pBegin,*pCh);//交换a和b的值
            Permutation(pStr, pBegin+1);
            std::swap(*pBegin,*pCh);
            pCh++;
        }
    }
}

int main()
{
    char str[] = "abc";
    cout<<"str pointer to:"<<*str<<endl;
    printf("str=%s\n",str);
    Permutation(str,str);//传递指针
    system("pause");
    return 0;
}

结果:

str pointer to:a

str=abc

abc

acb

bac

bca

cba

cab

请按任意键继续. . .

 

Process returned 0 (0x0)   execution time : 2.062 s

Press any key to continue.

====END====

© 著作权归作者所有

秋风醉了
粉丝 252
博文 532
码字总数 405694
作品 0
朝阳
程序员
私信 提问
STL系列之十 全排列(百度迅雷笔试题)

全排列在笔试面试中很热门,因为它难度适中,既可以考察递归实现,又能进一步考察非递归的实现,便于区分出考生的水平。所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了,...

长平狐
2012/12/10
86
0
确定某字符串的所有排列组合

/** * 功能:确定某字符串的所有排列组合。 / 注意:不考虑重复字符。若考虑重复字符,只需在加入permulations时去掉重复的字符串即可。 [java] view plain copy /* * 思路:元素由少到多,将...

一贱书生
2016/11/22
104
0
STL系列之十 全排列(百度迅雷笔试题)

全排列在笔试面试中很热门,因为它难度适中,既可以考察递归实现,又能进一步考察非递归的实现,便于区分出考生的水平。所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了,...

彭博
2012/04/12
509
0
剑指Offer-29-字符串的排列

题目 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 注意:字符可能重复! 比如,a...

SpecialYang
2018/07/23
0
0
Java下实现无重字符串的全排列(递归和回溯方法)

给定一个无重复字符的字符串数组,实现它的全排列 一、采用递归实现全排列 思想是从第一个字符开始排,一直排到只有一个字符那么就说明一个排列完成了。否则就交换当前第k个字符和第i个字符(...

群星纪元
03/30
11
0

没有更多内容

加载失败,请刷新页面

加载更多

IT兄弟连 HTML5教程 HTML5表单 小结及习题

小结 HTML表单提交的方法有get方法和post方法,get方法的作用是从指定的资源请求数据,post方法的作用是向指定的资源提交要被处理的数据。HTML表单一直都是Web的核心技术之一,有了它我们才能...

老码农的一亩三分地
14分钟前
7
0
向maven工程中导入自己封装好的jar包方法

1.打开cmd窗口 输入并执行:mvn install:install-file -DgroupId=com.test   -DartifactId=ptest -Dversion=0.1  -Dfile=E:\test\test-0.1.0.jar    -Dpackaging=jar注:Dgr......

gantaos
16分钟前
3
0
【jQuery基础学习】09 jQuery与前端(这章很水)

本文转载于:专业的前端网站➨【jQuery基础学习】09 jQuery与前端(这章很水) 这章主要是将如何将jQuery应用到网站中,或者说其实就是一些前端知识,对于我这种后端程序来说其实还是蛮有用的...

前端老手
27分钟前
8
0
深度科技与金山云完成兼容互认证 共同促进我国软件生态发展

近日,深度科技与金山云完成兼容互认证工作,经双方共同严格测试,深度操作系统ARM服务器版软件V15与金山云分布式数据库软件DragonBase V1.0相互兼容、稳定运行,可以为企业级应用提供全面保...

后浪涛涛
28分钟前
7
0
Less导入选项

Less 提供了CSS @import CSS规则的几个扩展,以提供更多的灵活性来处理外部文件。 语法: @import (keyword) "filename"; 以下是导入指令的相关详情: reference,使用较少的文件但不输出。 ...

凌兮洛
44分钟前
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部