Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 STL을 사용하는 배열의 모든 역순열?

<시간/>

이 섹션에서는 C++에서 STL을 사용하여 모든 역순열을 생성하는 방법을 볼 것입니다. (1, 2, 3)과 같은 일부 숫자의 정방향 및 역방향 순열은 다음과 같습니다. -

순열

1, 2, 31, 3, 22, 1, 32, 3, 13, 1, 23, 2, 1

역 순열

3, 2, 13, 1, 22, 3, 12, 1, 31, 3, 21, 2, 3

결과를 얻기 위해 previous_permutation() 함수를 사용할 것입니다.

알고리즘

getPermutation(arr, n)

정렬 시작 arr 역순으로 정렬을 시작하고 이전 순열 계산이 완료되지 않을 때까지 배열 요소를 반복합니다.End

예시

#include#include namespace std;void disp(int arr[], int n){ for(int i =0; i 

출력

 가능한 순열 :44 33 22 1144 33 11 2244 11 3344 11 33 2244 11 22 3333 44 22 1133 44 11 2233 22 44 1133 22 11 4433 11 44 ​​2233 11 22 4422 44 33 1122 44 11 3322 33 44 1122 33 11 4422 11 44 ​​3322 11 33 4411 44 ​​33 2211 44 ​​22 3311 33 44 2211 33 22 4411 22 44 4 3311