★★★★★ 龍門亂彈 ★★★★★

          ▓木浮于水,而皓月當空▓ 關注Java程序設計▓Linux系統▓人工智能(AI)進展▓數學▓

            BlogJava :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理 ::
            39 隨筆 :: 2 文章 :: 170 評論 :: 0 Trackbacks
          public?String[]?getAll(int[]?array)?{
          ????????
          int?n?=?Array.getLength(array);
          ????????
          int?total?=?(int)?Math.pow(2,?n);
          ????????Logger?log?
          =?Logger.getLogger("myLog");
          ????????log.info(
          "?the??total?:"?+?total);
          ????????String[]?outArray?
          =?new?String[total];
          ????????
          for?(int?i?=?0;?i?<?total;?i++)?{
          ????????????StringBuffer?bs?
          =?new?StringBuffer("");
          ????????????
          for?(int?j?=?0;?j?<?n;?j++)?{
          ????????????????
          if?(((i?>>?j)?%?2)?==?1)?{
          ????????????????????bs.append(String.valueOf(Array.
          get(array,?j)));
          ????????????????}
          ????????????}
          ????????????outArray[i]?
          =?bs.toString();
          ????????}
          ????????
          return?outArray;
          ????}


          以上代碼把生成的子集存放到一個字符串數組中,當集合的基數很大時,需要很大內存, 可以根據需要把上面程序改改不要放到數組中,而是邊生成邊使用.


          posted on 2005-09-13 11:07 LoveBNU 小六 WangBNU 閱讀(823) 評論(0)  編輯  收藏 所屬分類: Java編程 、算法之妙
          主站蜘蛛池模板: 宜兴市| 江北区| 平罗县| 昭平县| 天祝| 陇川县| 平阳县| 凤山县| 江达县| 库伦旗| 泰顺县| 石城县| 龙岩市| 桂东县| 黔江区| 太康县| 贺州市| 上蔡县| 栾川县| 穆棱市| 曲阳县| 开江县| 巩义市| 黄大仙区| 津南区| 布尔津县| 呼伦贝尔市| 长垣县| 景宁| 亳州市| 丹寨县| 偏关县| 师宗县| 松原市| 莱阳市| 福贡县| 青海省| 嫩江县| 六安市| 肥西县| 佳木斯市|