百度面试题 字符串的全排列输出
2015-09-09 17:05
489 查看
#include<iostream>
using namespace std;
#include<assert.h>
void Permutation(char* pStr, char* pBegin)
{
assert(pStr && pBegin);
if(*pBegin == '\0')
printf("%s\n",pStr);
else
{
for(char* pCh = pBegin; *pCh != '\0'; pCh++)
{
swap(*pBegin,*pCh);
Permutation(pStr, pBegin+1);
swap(*pBegin,*pCh);
}
}
}
int main(void)
{
char str[] = "abc";
Permutation(str,str);
return 0;
}
运行结果:
abc
acb
bac
bca
cba
cab
using namespace std;
#include<assert.h>
void Permutation(char* pStr, char* pBegin)
{
assert(pStr && pBegin);
if(*pBegin == '\0')
printf("%s\n",pStr);
else
{
for(char* pCh = pBegin; *pCh != '\0'; pCh++)
{
swap(*pBegin,*pCh);
Permutation(pStr, pBegin+1);
swap(*pBegin,*pCh);
}
}
}
int main(void)
{
char str[] = "abc";
Permutation(str,str);
return 0;
}
运行结果:
abc
acb
bac
bca
cba
cab
相关文章推荐
- 黑马程序员--文件操作(File,RandomAccessFile)
- 百度面试题 字符串中单词的逆转,即将单词出现的顺序进行逆转
- 黑马程序员——Foundation框架入门:OC中的文件管理
- 程序员的激情其实是一种痛苦
- 面试金典之(一)找出和为SUM的递增数组array中的两个数使之乘积最小
- 黑马程序员——Foundation框架入门:NSString,NSArray,NSDictionary和NSURL
- 嵌入式程序员面试题
- leetcode面试准备:Container With Most Water
- 【程序员面试宝典】检测并修改不合适的继承
- 《程序员面试金典》--确定两串乱序同构
- 程序员练级之路
- JAVA多线程,面试者的最爱!
- 《程序员面试金典》--反转字符串
- SQL数据库面试题以及答案
- 面试题41和为S的两个数字VS和为s的连续正数序列
- 面试题 23
- 像程序员一样思考 记录
- 黑马程序员———Objctive-C———【NSDictionary、NSMutableDictionary、NSFileManager】
- 黑马程序员———Objctive-C———【NSArray不可变数组、NSMutableArray可变数组】
- 黑马程序员———Objctive-C———【NSString及NSMutalbeString的使用】