앞선 글에서 보았던 순열 나열하기 알고리즘은 매우 단순하다는 장점은 있지만, 사전 순서가 아니라는 단점이 있다. 하지만 우리가 순열을 나열하게 되는 경우에는 사전 순서로 나열해야 하는 경우가 많을 것이다.
또한 nPn을 나열하는 경우 외에도 nPk를 나열해야 하는 경우도 상당히 많다. 먼저 n 개의 원소 중 k 개의 원소를 나열하는 경우에는 다음과 같이 그저 변수 k를 추가하고 그냥 k 개의 원소를 출력해주기만 하면 된다. nPn과 크게 다르지 않은 부분이다. void permutation(char arr[], int i, int n, int k){ int j, temp; if (i == k){ //깊이가 k가 되면 for(j=0; j
원문 링크 : 재귀 알고리즘, nPk, 순열 사전 순서대로 나열하기