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 = {1, 2, 3}; 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
반응형
댓글