Permutations는 주어진 집합의 모든 순열을 출력해주는 알고리즘입니다.
이 포스팅에서 소개할 내용은 다음과 같습니다.
1. 코드로 이해하는 Permutations
2. 문제로 이해하는 Permutations
#include <iostream>
using namespace std;
void Permutations(char *a, const int H, const int T) {
if ( H == T) {
for (int i = 0; i <= T; i++)
cout << a[i] << " ";
cout << endl;
}
else {
for (int i = H; i <= T; i++) {
swap(a[H], a[i]);
Permutations(a, H+1, T);
swap(a[H], a[i]);
}
}
return;
}
int main() {
char *arr = new char[5] {'a', 'b', 'd', 'e', 'c'};
Permutations(arr, 0, 4);
return 0;
}