본문 바로가기
카테고리 없음

순열

by Meaning_ 2021. 11. 19.
728x90
반응형

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import java.util.LinkedList;
 
public class Perm {
    public static void main(String[] args) {
        int[] arr = {123};
        int n = arr.length;
 
        for (int i = 1; i <= n; i++) {
            LinkedList<Integer> perArr = new LinkedList<>();
            int[] perCheck = new int[n];
            permutation(n, i, perArr, perCheck, arr);
        }
    }
 
    private static void permutation(int n, int r, LinkedList<Integer> perArr, int[] perCheck, int[] arr) {
        if (perArr.size() == r) {
            for (int i : perArr) {
                System.out.print(i + " ");
            }
            System.out.println();
            return;
        }
        for (int i = 0; i < n; i++) {
            if (perCheck[i] == 0) {
                perArr.add(arr[i]); //값을 넣는 부분
                perCheck[i] = 1;
                permutation(n, r, perArr, perCheck, arr);
                perCheck[i] = 0;
                perArr.removeLast();
            }
        }
    }
}
cs
728x90
반응형

댓글