순열
순열의 정의
순열이란 서로 다른 n개중에 r개를 선택하는 경우의 수를 의미합니다. (순서 상관 있음)
순열 코드(재귀)
import java.util.Arrays;
public class Permutation {
public static void perm(int idx, int[] tmp, int[] arr)
{
if(idx==tmp.length)
{
System.out.println(Arrays.toString(tmp));
return;
}
for(int i=0;i<arr.length;i++)
{
if(!visited[i])
{
visited[i]=true;
tmp[idx]=arr[i];
perm(idx+1,tmp,arr);
visited[i]=false;
}
}
}
public static boolean visited[];
public static void main(String[] args) {
int arr[]={1,2,3,4};
visited=new boolean[arr.length];
perm(0,new int[3],arr);
}
}