Sicily 4495. Print permutations

http://soj.me/4495


按字典序生成字符串的全排列

直接递归:

#include <iostream>
#include <string>
#include <cstring>

using namespace std;

int len;
bool ever[9];
string str;

void permutation(string cur)
{
	if(cur.size() == len)
	{
		cout<<cur<<endl;
		return ;
	}
	for(int i=0;i<len;++i)
	{
		if(!ever[i])
		{
			ever[i] = 1;
			permutation(cur + str[i]);
			ever[i] = 0;
		}
	}
}

int main()
{
	while(cin>>str)
	{
		memset(ever,0,sizeof(ever));
		len = str.size();
		permutation("");
	}
	return 0;
}


原文地址:https://www.cnblogs.com/dyllove98/p/3211950.html