C++ 재귀함수를 바꾸려고 하는데요.
글쓴이: DarkSide / 작성시간: 금, 2011/08/26 - 2:54오후
void recursive_func(int p0, int p1) { int p2 = test(p0, p1); if(p2 == p1) return; //종료 Do_it(p0, p1, p2); recursive_func(p0, p2); recursive_func(p2, p1); }
위 코드가 리눅스에서는 실행이 잘되었는데, 윈도에서는 스택 깊이 때문인지 에러가 많이 납니다.
재귀를 쓰지 않고 실행하는 방법이 있을까요?
종료 조건은 반드시 만나게 되어 있습니다.
한 함수에서 두 개로 분지되다 보니 해결책이 떠오르질 않네요.
Forums:
아래처럼 직접 스택을 써서 재귀를 구현하면 되지
아래처럼 직접 스택을 써서 재귀를 구현하면 되지 않을까요..
감사합니다.
감사합니다.
댓글 달기