[C++] 순열(permutation)

다곰·2022년 10월 27일
0

순열: 순서에 상관있게 값들을 나열

✅ 헤더파일: algorithm

✏️ 모든 순열 구하는 예시

sort(v.begin(),v.end());

do {
		for (int i = 0; i < len; i++) {
			cout << v[i] << " ";
		}
		cout << endl;
	} while (next_permutation(v.begin(), v.end()));

next_permutation(시작 주소, 종료 주소)

  • 더 큰 순열로 재배열을 가능하다면 반복하여 구하는 구조이므로 앞에 이미 큰 원소들이 배치되어 있으면 반복하지 않음
  • 원하는 방향대로 정렬한 이후 permutation 하거나 적절한 permutation 방식 선택해서 사용하면 됨
  • 내림차순으로 정렬되어 있다면 next_permutation 대신 prev_permutation 사용

❗️ next_permutation 사용시 오름차순 정렬 필수!

profile
다교미의 불꽃 에러 정복기

0개의 댓글