您的位置:首页 > 其它

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

2015-06-02 10:03 302 查看
题目:输入一个字符串,打印出该字符串中字符的所有排列。
例如输入字符串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));
		}
	}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: