[App 개발] 코코아로 만든 Stack Class 의 활용 4번째
본문
알고리즘 시작
infix 를 postfix 로 바꾼다.
Pre : 식은 infix 구조로 되어 있고, 문법적으로 이상이 없어야 된다.
Post : postfix 식은 스트링으로 포멧된다.
return: postfix 식
1. 스택을 만든다(동적메모리 생성)
2. Loop : 식 안의 각각의 캐릭터에 대하여
1. '(' 라면
1. 스택에서 pushStack
2. else ')' 라면
1. 스택에서 popStack
2. Loop : 캐릭터가 '(' 아닐때까지
1. 캐릭터를 postfix 포인터 변수가 가리키는 곳에 복사한다.
2. 스택에서 popStack
3. Loop 종료
3. else 캐릭터가 연산자라면
//스택의 Top 과 캐릭터를 비교 우선순위를 평가한다.
1. StackTop
2. Loop : 스택이 비어있지 않을때 까지 그리고 StackTop 보다 캐릭터의 우선순위가 작을때까지
1. popStack
2. popStack 에서 나온 캐릭터를 postfix 포인터 변수가 가리키는 곳에 복사한다.
3. stackTop
3. Loop 종료
4. pushStack
4. else
// 캐릭터가 피연산자라면
1. 캐릭터를 postfix 포인터 변수가 가리키는 곳에 복사한다.
5. 조건 종료
3. Loop 종료
// 입력된 식이 끝났음.
4. Loop : 스택이 비어있지 않을때까지
1. popStack
2. popStack 에서 나온 캐릭터를 postfix 포인터 변수가 가리키는 곳에 복사한다.
5. loop 종료
6. return postFix
알고리즘 종료
최신글이 없습니다.
최신글이 없습니다.
댓글목록 0