상세 컨텐츠

본문 제목

STL :: algorithm - next_permutation() (순열, 조합)

C++/STL

by J2on 2024. 1. 25. 22:56

본문

 

next_permutation은 순열과 조합에서 사용하기 좋은 함수

 

 

#include <algorithm>

 

algorithm 헤더를 통해 사용할 수 있다.

 

next_permutaion은 오름차순으로 정렬된 콘테이너에 대해 하나씩 이동하며 내림차순으로 변경한다.

 

 

 

반복문에서 사용하면 이렇게 매 반복마다 변하는 과정을 보여준다.

 

이를 바탕으로 순열과 조합에서 사용할 수 있다.

 

do{
	
	// 순열을 통해 하고싶은 동작
	
}
while (next_permutation(oprVec.begin(), oprVec.end()));

이 형태로 사용하게 되면 next_permutation이 정렬하는 과정에서는 매 반복마다 true를 return하지만, 끝나면 false를 return해서 유용하게 사용할 수 있다.

 

back tracting에서 유용하게 사용할 수 있다.

 

 

이런 식으로 중복된 경우에도 사용이 가능

 

 

'C++ > STL' 카테고리의 다른 글

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

관련글 더보기

댓글 영역