on
순열
순열
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