순열

순열

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();

}

}

}

}

from http://we1cometomeanings.tistory.com/188 by ccl(A) rewrite - 2021-11-19 04:02:20