我希望能够把所有的排序都给保存到list当中可是最后遍历list输出的结果却是1234512345123451234512345......总共也是120个没有错,可是为什么会都是12345排序而不是我想要的全排序这里...
我希望能够把所有的排序都给保存到list当中
可是最后遍历list输出的结果却是
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
......
总共也是120个没有错,可是为什么会都是1 2 3 4 5排序而不是我想要的全排序
这里想了好久没有想通
求高手解答
在此谢过了
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;
public class diGui {
static int n=0;
static List> list=new LinkedList();
public static void main(String[]args)
{
List Arr=new LinkedList();
for(int i=0;i<6;i++)
{
Arr.add(i+1);
}
perm(Arr,0,4);
//遍历list
for(int i=0;i
{
Listtemp=list.get(i);
for(int j=0;j
{
System.out.print(temp.get(j)+" ");
}
System.out.println();
}
};
public static void perm(ListArr,int begin,int end)
{
//终止条件
if(begin>=end)
{
list.add(Arr);
return ;
}
else
{
for(int i=begin;i<=end;i++)
{
swap(Arr,begin,i);
perm(Arr,begin+1,end);
swap(Arr,begin,i);
}
}
}
//交换k和m的值
public static void swap(ListArr,int k,int m)
{
int temp=Arr.get(k);
Arr.set(k, Arr.get(m));
Arr.set(m, temp);
}
}
展开