검색어 입력폼
평가점수B

[공학]infix를 prefix로 변환하는 프로그램 소스(스택 사용)

저작시기 2007.04 |등록일 2007.04.11 한글파일한컴오피스 (hwp) | 5페이지 | 가격 1,200원

소개글

infix를 prefix로 변환하는 프로그램 소스입니다...
스택을 사용하였습니다...

목차

없음

본문내용

void prefix(char infix[], char prestr[])
{
int position, und;
int outpos = 0;
char topsymb = `+`;
char symb;
struct stack opstk;
opstk.top = -1;

for(position = 0 ; (symb = infix[position])!=`\0` ; position++)
{
if(isoperand(symb)) // 하나의 심볼을 읽어서 피연산자이면 배열에 할당
prestr[outpos++] = symb;
else{
popandtest(&opstk,&topsymb,&und);

while(!und && prcd(topsymb,symb)){
prestr[outpos++] = topsymb;
popandtest(&opstk,&topsymb,&und);
}


if(!und)
push(&opstk,topsymb);

if(und || (symb != `(` ) )
push(&opstk,symb);
else
topsymb = pop(&opstk);
}
}
while(!empty(&opstk))
prestr[outpos++] = pop(&opstk);
prestr[outpos] = `\0`;
return;
}

int empty(struct stack *ps)
{
if(ps->top == -1)
return(TRUE);
else
return(FALSE);
}

참고 자료

없음
다운로드 맨위로