static void combinationUtil()
のメソッドをpublic static void main (String[] args)
に入れる方法を探しています。java - 可能なすべての配列の組み合わせを1つのメソッド
私はその後、クラス全体が1つの方法だけpublic static void main (String[] args)
を得たか、どのように私は配列データは[]このようpublic static void main (String[] args)
class permutation {
static void combinationUtil(int arr[], int data[], int start, int end, int index, int r){
if (index == r){
for (int j=0; j<r; j++){
System.out.print(data[j]+" ");
}
System.out.println("");
return;
}
for (int i=start; i<=end && end-i+1 >= r-index; i++){
data[index] = arr[i];
combinationUtil(arr, data, i+1, end, index+1, r);
}
}
public static void main (String[] args) {
int arr[] = {1, 2, 3, 4, 5,6,7};
int r = 5;
int n = arr.length;
int data[]=new int[r];
int start=0,end=n-1,index=0;
combinationUtil(arr, data, start, end, index, r);
}
}
それが役立つかもしれない、この記事を見てお気軽に:http://blog.moertel.com/posts/2013-05-11-recursive-to-iterative .html。基本的には、メソッドが再帰(combinationUtil)によって動作しているので、単純にロジックをメインに移動するのは簡単ではありません。代わりに、再帰が何をしているのかを実現するループをメインに作成する必要があります。 –