任意给出n个字符,怎样列出他的所有排列组合? 不知对不对,我谈谈我的想法。有几位的话排列的综合就为几的阶乘,这是循环的总数。然后再通过拼接字符串得到每个不同的总合。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这只是一个简单的算法问题,用递归就很容易实现。 #include <iostream>#include <string>using namespace std;void fun(string,string);void main(){ string test = "abc"; fun("",test);}void fun(string print,string str){if(str.length()==1) cout<<print<<str<<endl;else for(int i=0;i<str.length();i++) fun(print+str[i],str.substr(0,i)+str.substr(i+1,str.length()-i));} 求助!给存储过程加事务提示此 SqlTransaction 已完成;它再也无法使用 C#实现一个十字光标,代码如下,如何消除直线的抖动? 一小段C程序,求看得懂的给讲解一下。 打印预览问题,请大家帮帮忙 在WINFORM中如何使用WEB窗口 求教:基于粗集理论求权重值 c#实现 远程调用组件 关于用于验证的正则表达式的问题 关于坐标系统问题,内详..... 如何在一个web主窗体里调用另外一个web窗体!(答对马上结贴) C#里面怎么像VB一样建立数组控件并且公用一个事件? ##**## CSHARPHQ 邮件列表开了! 对 C# 感兴趣,交朋友的好地方! 有疑难问题也欢迎能贴
#include <string>
using namespace std;
void fun(string,string);
void main()
{
string test = "abc";
fun("",test);
}
void fun(string print,string str)
{
if(str.length()==1)
cout<<print<<str<<endl;
else
for(int i=0;i<str.length();i++)
fun(print+str[i],str.substr(0,i)+str.substr(i+1,str.length()-i));
}