hello world

          隨筆 - 2, 文章 - 63, 評論 - 0, 引用 - 0
          數據加載中……

          求取數列的排列。利用遞歸

          				 public class Order2 {
          static int num=1;

          private boolean isIn(int a[],int start,int num){
          for(int i=0;i<start;i++){
          if(a[i]==num)
          return true;
          }
          return false;
          }

          public void orderNumber(int[] a, int start, int deep, int length, int k) {
          int passNum[]=new int[length];
          int passLength=0;
          for (int i = start; i < length; i++) {
          if(isIn(passNum,passLength,a[i]))
          continue;

          passNum[passLength]=new Integer(a[i]).intValue();
          passLength++;

          int t = a[start];
          a[start] = a[i];
          a[i] = t;

          if (deep == 1) {
          System.out.print(num+++" ");
          for (int j = 0; j < k; j++)
          System.out.print(a[j]);
          System.out.println();
          } else
          orderNumber(a, start + 1, deep - 1, length, k);

          t = a[start];
          a[start] = a[i];
          a[i] = t;
          }

          }

          public static void main(String arg[]){
          int a[]={1,2,2,4,5};
          int start=0;
          int deep=3;
          int length=5;
          new Order2().orderNumber(a, start, deep, length,deep);
          }
          }

          posted on 2009-12-08 12:16 聽風 閱讀(208) 評論(0)  編輯  收藏 所屬分類: JAVA

          主站蜘蛛池模板: 黄浦区| 轮台县| 浙江省| 兴安县| 德江县| 巴彦县| 肥乡县| 砚山县| 寻乌县| 宝丰县| 博客| 逊克县| 丰顺县| 三河市| 乌兰浩特市| 柳林县| 宁化县| 商河县| 南京市| 宕昌县| 黑水县| 普安县| 永泰县| 五原县| 施秉县| 五莲县| 定远县| 阿拉善盟| 拉孜县| 霍邱县| 九寨沟县| 常山县| 宁强县| 乌拉特前旗| 邮箱| 大同县| 沂南县| 许昌市| 迭部县| 乌什县| 宜兰市|