有关递归的一个费解的问题 如何写出一个方法print(String s)使它能打印出s中所有字符的排列如:print("abc");输出:abcacbbacbcacabcba 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼主是想用递归来实现全排列吧,下面是我上学时的一小段C代码,楼主可以参考一下...#include<stdio.h>#include<malloc.h>void Perm(int P[],int m,int n);void print(int P[],int n);int main(){ int j; int n; int *P; scanf("%d",&n); P=(int *)malloc((n+1)*sizeof(int)); for (j=1;j<=n;j++) { P[j]=j; } Perm(P,1,n); system("pause");}//Functionsvoid Perm(int P[],int m,int n){ int j,tmp; if (m==n) print(P,n); else { for (j=m;j<=n;j++) { tmp=P[j]; P[j]=P[m]; P[m]=tmp; Perm(P,m+1,n); tmp=P[j]; P[j]=P[m]; P[m]=tmp; } }}void print(int P[],int n){ int i; for (i=1;i<=n;i++) printf("%d ",P[i]); printf("\n");}楼主拿去可以做一些优化改写... webQQ的即时聊天是什么技术实现的 java群发邮件,带附件的问题! TextField找不到符号-真心请教!! 求救:关于Java自动输入的问题(万分紧急!) mysql 如何进入shell> 提示符下面 非常菜的问题,请大家不要笑话 java Aplet插件在HTML上无法显示是什么原因呢? Eclipse SWT中的Table问题 java 的 eclipse 打不开 ,这些个截图如下 求推荐一个开源的网络爬虫程序 用SOCKET开发简单聊天的问题,请教各位,谢谢大家指导! 求求各位大哥帮帮忙,跪求了!
#include<stdio.h>
#include<malloc.h>void Perm(int P[],int m,int n);
void print(int P[],int n);int main()
{
int j;
int n;
int *P; scanf("%d",&n);
P=(int *)malloc((n+1)*sizeof(int));
for (j=1;j<=n;j++)
{
P[j]=j;
}
Perm(P,1,n);
system("pause");
}
//Functions
void Perm(int P[],int m,int n)
{
int j,tmp; if (m==n)
print(P,n);
else
{
for (j=m;j<=n;j++)
{
tmp=P[j];
P[j]=P[m];
P[m]=tmp; Perm(P,m+1,n);
tmp=P[j];
P[j]=P[m];
P[m]=tmp;
}
}
}void print(int P[],int n)
{
int i;
for (i=1;i<=n;i++)
printf("%d ",P[i]);
printf("\n");
}楼主拿去可以做一些优化改写...