www. 其中有一篇文章,专门讲这种组合问题。使用递归处理的,文章名字叫《permulation in C++》,去看一下这个。应该就是以下的代码,可能有些参考,看看吧!另外,这个网站非常好,推荐大家都去看看!
#include <string>
#include <iostream>
using namespace std;
void string_permutation( std::string& orig, std::string& perm )
{
if( orig.empty() )
{
std::cout<<perm<<std::endl;
return;
}
for(int i=0;i<orig.size();++i)
{
std::string orig2 = orig;
orig2.erase(i,1);
std::string perm2 = perm;
perm2 += orig.at(i);
string_permutation(orig2,perm2);
}
}
int main()
{
std::string orig="ABCDE";
std::string perm;
string_permutation(orig,perm);
cout<<"Complete!"<<endl;
system("pause");
return 0;
}