next_permutation은 순열과 조합에서 사용하기 좋은 함수
#include <algorithm>
algorithm 헤더를 통해 사용할 수 있다.
next_permutaion은 오름차순으로 정렬된 콘테이너에 대해 하나씩 이동하며 내림차순으로 변경한다.
반복문에서 사용하면 이렇게 매 반복마다 변하는 과정을 보여준다.
이를 바탕으로 순열과 조합에서 사용할 수 있다.
do{
// 순열을 통해 하고싶은 동작
}
while (next_permutation(oprVec.begin(), oprVec.end()));
이 형태로 사용하게 되면 next_permutation이 정렬하는 과정에서는 매 반복마다 true를 return하지만, 끝나면 false를 return해서 유용하게 사용할 수 있다.
back tracting에서 유용하게 사용할 수 있다.
이런 식으로 중복된 경우에도 사용이 가능
STL :: vector (0) | 2024.02.02 |
---|---|
STL :: array<type, num> (0) | 2024.02.02 |
STL :: pair ( 두 데이터 타입을 쌍으로 묶기 ) (0) | 2024.01.24 |
STL :: map ( 마치 vector에 pair를 저장한 것 같은 ) (0) | 2024.01.24 |
STL :: Algorithm - sort() (정렬) (0) | 2024.01.24 |
댓글 영역