java 最得3个数的全部排序?

hnlgdxljs 2008-10-21 10:03:39
大家好!
用java实现3个数的全部排序怎么写?
也就是说3个数有12种排序方法。怎么做?
谢谢大家。
...全文
323 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiongwenhua365 2008-10-22
  • 打赏
  • 举报
回复
import java.util.*;
public class Pai
{
public static int num=3;//修改num的值可求任意数字的全排列

public static void main(String[] args)
{
List<Integer> list=new ArrayList<Integer>();
paiXue(1,list);
}
public static void paiXue(int n,List<Integer> list)
{
if(n>num)
{
System.out.println(list);
return ;
}
for(int i=0;i<=list.size();i++)
{
list.add(i,n);
paiXue(n+1,list);
list.remove(new Integer(n));
}

}
}

D:\javasample>java Pai
[3, 2, 1]
[2, 3, 1]
[2, 1, 3]
[3, 1, 2]
[1, 3, 2]
[1, 2, 3]
hanbb 2008-10-22
  • 打赏
  • 举报
回复
应该是可重复的,不叫排序,应该叫组合
Enno 2008-10-22
  • 打赏
  • 举报
回复
积分喽
lizhi1026 2008-10-22
  • 打赏
  • 举报
回复
3个数,12个方法???
skyhits1921 2008-10-22
  • 打赏
  • 举报
回复
两层循环搞定.
cydp007 2008-10-22
  • 打赏
  • 举报
回复
吓了一跳..小猴子的就可以.
hnlgdxljs 2008-10-22
  • 打赏
  • 举报
回复
不好意思, 上面的问题我提错了。本来想说4个数24种排序。可临时决定用3个数提问,却又算错了。应该是3个数6种排序方法。
谢谢大家。
w3329307 2008-10-22
  • 打赏
  • 举报
回复
有12种吗,想不出来,郁闷

RyanNewLife 2008-10-22
  • 打赏
  • 举报
回复

import java.util.*;

public class pailie
{
public static String c="abc";
private static int [] used=new int[100];
private static char [] str=new char[100];
private static void Gen(int s,int len)
{
if(s==len)
{
String outs=new String(str);
System.out.println(outs.substring(0,len));
return;
}
int i;
for(i=0;i<c.length();i++)
{
if(used[i]>0)continue;
used[i]=1;
str[s]=c.charAt(i);
Gen(s+1,len);
used[i]=0;
}
}
public static void main(String [] args)
{
for(int i=0;i<c.length();i++)
used[i]=0;
Gen(0,c.length());
}
}
bruni 2008-10-22
  • 打赏
  • 举报
回复
不是很理解, 哪里来的12中排序?
1,2,3
1,3,2
2,3,1
2,1,3
3,1,2
3,2,1
justinavril 2008-10-21
  • 打赏
  • 举报
回复

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧