카테고리 없음
순열을 재귀함수로
벤치마킹
2019. 8. 15. 12:45
순열을 재귀 함수로 ..
1,2, 3,4,5 int 배열을 갖고 재귀함수를 활용해서 순열 만들기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | #include <stdio.h> #include <iostream> #include <memory.h> using namespace std; #define MAX_N 5 int arr[] = { 1, 2, 3, 4 , 5}; int temp[MAX_N]; static int bufSize; bool visit[5]; void DBGPrint(int v[], int size){ for (int i = 0; i < size; i++) cout << temp[i] << " "; cout << "\n"; } void recursive(int a[], int n){ //cout << "n -> [" <<n << " ]" << endl; //cout << "bufSize -> [" << bufSize << " ]" << endl; if (n == 3){ DBGPrint(temp, n); return; } for (int i = 0; i < bufSize; i++){ if (!visit[i]){ visit[i] = true; temp[n] = arr[i]; recursive(temp, n + 1); visit[i] = false; } } } int main() { bufSize = sizeof(arr) / sizeof(int); cout << bufSize << endl; recursive(temp, 0); return 0; } |