微软100题(53)字符串的排列

来源:互联网 发布:求顶尖数据恢复注册码 编辑:程序博客网 时间:2024/06/10 15:55
题目:输入一个字符串,打印出该字符串中字符的所有排列。
例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串
abc、acb、bac、bca、cab和cba。

思路:排列题目,最简单的方法是递归
void Permutation(char* element,int start,int end){if(start==end){for (int i=0;i<=end;++i)cout<<*(element+i);cout<<endl;}else{for (int i =start;i<=end;++i){swap(*(element+i),*(element+start));Permutation(element,start+1,end);swap(*(element+i),*(element+start));}}}


0 0