import java.util.*;
public class qpl
{
public static void main( String[] args)
{
char [] arry=new char []{'a','b','c','d'};
int n=4;
int k=0;
px PX=new px();
PX.paixu(arry,n,k);
}
}class px
{
void paixu(char []arry,int n,int k)
{
if (n==k)
{for(int i=0;i<=3;i++)
System.out.print(arry[i]);
System.out.println(" ");
}
else
{
for (int i=k;i<=n;i++)
{swap (arry[k],arry[i]);
paixu(arry,n,k+1);
swap (arry[i],arry[k]);
}
}
}
void swap(char a,char b)
{
//System.out.print("=="+a);
char temp=a;
a=b;
b=temp;
//System.out.print("++"+b);
}
}
那里写的不对呢? 我怎么都调不通(我是java初学者 :) )
还有csdn的分有什么用啊
public class qpl
{
public static void main( String[] args)
{
char [] arry=new char []{'a','b','c','d'};
int n=4;
int k=0;
px PX=new px();
PX.paixu(arry,n,k);
}
}class px
{
void paixu(char []arry,int n,int k)
{
if (n==k)
{for(int i=0;i<=3;i++)
System.out.print(arry[i]);
System.out.println(" ");
}
else
{
for (int i=k;i<=n;i++)
{swap (arry[k],arry[i]);
paixu(arry,n,k+1);
swap (arry[i],arry[k]);
}
}
}
void swap(char a,char b)
{
//System.out.print("=="+a);
char temp=a;
a=b;
b=temp;
//System.out.print("++"+b);
}
}
那里写的不对呢? 我怎么都调不通(我是java初学者 :) )
还有csdn的分有什么用啊
调通后,你的代码也不是你想要的。paixu? 总要比较一下大小吧。csdn的分是吸引我回答你的问题的原因。
详细的可以搜索论坛上前面的帖子另外,你的命名命名很有问题,类名小写,对象名大写,真少见
to believefym(暮色,miss,迷失,miss):感谢你的回答,经过你的指点,我已经修改成功了。命名问题确实很不规范,让xd见笑了。
贴出修改的swap,希望对像我一样菜的xd也有所帮助:)
void swap(char []a,int x,int y)
{
char temp=a[x];
a[x]=a[y];
a[y]=temp;
}还有就是怎么给分呢:(
你这个只需要Arrays.sort(arry),默认是升序