设为首页收藏本站
开启辅助访问
切换到宽版

创星网络[分享知识 传递快乐]

 找回密码
 立即注册

QQ登录

只需一步,快速开始

用新浪微博登录

只需一步,快速搞定

搜索
查看: 2909|回复: 0
打印 上一主题 下一主题

java实现数组的所有组合

[复制链接]

我玩的应用:

跳转到指定楼层
楼主
发表于 2012-12-13 17:26:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
细节上需要改进。
  1. import java.util.*;
  2. public class Map {
  3. Vector<int[]> v = new Vector<int[]>();
  4. Vector<Integer> vv = new Vector<Integer>();
  5. Map() {
  6. int[] array = { 1, 2, 3, 4, 5 };
  7. Scanner s = new Scanner(System.in);
  8. int x = s.nextInt();
  9. pro(array, 0, x);
  10. for(int i=0;i<v.size();i++){
  11. int[] r=v.get(i);
  12. for(int j=0;j<r.length;j++){
  13. System.out.print(""+r[j]+",");
  14. }
  15. System.out.println();
  16. }
  17. }
  18. public void pro(int[] a, int start, int n) {
  19. if (n == 0) {
  20. int[] r = new int[vv.size()];
  21. for (int i = 0; i < r.length; i++) {
  22. r[i] = vv.get(i);
  23. }
  24. v.add(r);
  25. return;
  26. }
  27. if (start >= a.length) {
  28. return;
  29. }
  30. for (int i = start; i < a.length; i++) {
  31. vv.add(a[i]);
  32. pro(a, i + 1, n - 1);
  33. vv.remove(vv.size()-1);
  34. }
  35. }
  36. public static void main(String arg[]) {
  37. new Map();
  38. }
  39. }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|创星网络 ( 苏ICP备11027519号|网站地图  

GMT+8, 2024-9-22 07:34 , Processed in 0.081367 second(s), 26 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表