一个数组是12 22 22 2 4 6怎么输出他的所有排列
解决方案 »
- 急..我写的程序编后运行没有反应
- 请教高手 Exception in thread "main" java.lang.NoClassDefFoundError:
- Java一个方法不用修饰符和用public有什么区别?
- 大家帮帮忙!
- 如何从键盘输入一个具有5个数据的数组,并比较大小,输出最大数和最小数
- 菜鸟的问题:请大家推荐java的编译器
- java有没有象messagebox的东西 好像以前看见过 查了半天没查到 指点一下
- ~~进门就送分!~~ 如何执行包含多语种的SQL语句呢?
- 我的JInternalFrame为什么不出来????45分!!!!!!!!!!!
- JDBC加载驱动和注册驱动有区别吗?区别在哪?
- 第三行的计算顺序?
- JTextPane删除图标
for 循环 把6个数组叠起来 输出
结果 就是了
public class PermutCombi {
public static void output(int[] num, int[] arr) {
int i;
for (i = arr.length - 1; i >= 0; --i)
System.out.print((arr[num[i]]) + " ");
System.out.println();
} public static void permutCombi(int[] arr, int n) {
int[] num, ;
int i, flag;
num = new int[n + 1];
= new int[n];
for (i = 0; i <= n; ++i)
num[i] = 0;
do {
for (i = 0; i < n; ++i)
[i] = 0;
flag = 0;
++num[0];
for (i = 0; i < n; ++i) {
if (num[i] == n) {
num[i] = 0;
++num[i + 1];
}
++[num[i]];
// 各位数组单元有无重复
if ([num[i]] > 1) {
flag = 1;
break;
}
}
if (flag == 0)
output(num, arr);
} while (num[n] == 0);
} public static void main(String[] args) {
int[] n = {12, 22, 2, 4, 6};
permutCombi(n, n.length);
}
}
public static void main(String[] args) {
int[] arr=new int[]{12,22,22,2,4,6};
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
} }}