資源簡介
棧實現中綴表達式到后綴表達式的轉換
InfixToSuffix
用C語言編寫 code blocks開發

代碼片段和文件信息
//InfixToSuffix.c
//author:081110101
//time:2009\5\21
#include?“InfixToSuffix.h“
void?MakeNullStack(Stack1?*s1Stack2?*s2)
{
????s1->top=s2->top=-1;
}
int?Judge(char?chStack1?*s1Stack2?*s2)
{
????int?i;
????switch(ch)
????{
????????case?‘+‘:
????????{
????????????if(s1->data[s1->top]==‘-‘||s1->data[s1->top]==‘*‘||s1->data[s1->top]==‘/‘)
????????????{
????????????????s2->data[++s2->top]=s1->data[s1->top--];
????????????????s1->data[++s1->top]=ch;
????????????}
????????????else
????????????{
????????????????s1->data[++s1->top]=ch;
????????????}
????????????return?1;
????????}
????????case?‘-‘:
????????{
??????????????if(s1->data[s1->top]==‘+‘||s1->data[s1->top]==‘*‘||s1->data[s1->top]==‘/‘)
??????????????{
????????????????????s2->data[++s2->top]=s1->data[s1->top--];
????????????????????s1->data[++s1->top]=ch;
???????????????}
???????????????else
???????????????{
?????????????????????s1->data[++s1->top]=ch;
???????????????}
???????????????return?1;
????????}
????????case?‘*‘:
????????{
????????????if(s1->data[s1->top]==‘/‘)
????????????{
????????????????s2->data[++s2->top]=s1->data[s1->top--];
????????????????s1->data[++s1->top]=ch;
????????????}
????????????else
????????????{
????????????????s1->data[++s1->top]=ch;
????????????}
????????????return?1;
????????}
????????case?‘/‘:
????????{
????????????if(s1->data[s1->top]==‘*‘)
????????????{
????????????????s2->data[++s2->top]=s1->data[s1->top--];
????????????????s1->data[++s1->top]=ch;
????????????}
????????????else
????????????{
????????????????s1->data[++s1->top]=ch;
????????????}
????????????return?1;
????????}
????????case?‘)‘:
????????{
????????????i=s1->top;
????????????while(s1->data[i]!=‘(‘?&&?i>=0)
????????????{
????????????????i--;
????????????}
????????????if(i==-1)
????????????{
????????????????return?0;
????????????}
????????????while(s1->data[s1->top]!=‘(‘)
????????????{
????????????????s2->data[++s2->top]=s1->data[s1->top--];
????????????}
????????????s1->top--;
????????????return?1;
????????}
?}
?}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????23034??2009-05-21?23:44??InfixToSuffix\bin\Debug\InfixToSuffix.exe
?????文件???????2095??2009-05-21?23:44??InfixToSuffix\InfixToSuffix.c
?????文件???????1208??2009-05-21?23:44??InfixToSuffix\InfixToSuffix.cbp
?????文件????????591??2009-05-21?23:44??InfixToSuffix\InfixToSuffix.depend
?????文件????????469??2009-05-21?23:43??InfixToSuffix\InfixToSuffix.h
?????文件????????449??2009-05-21?23:44??InfixToSuffix\InfixToSuffix.layout
?????文件???????1325??2009-05-21?23:43??InfixToSuffix\main.c
?????文件???????5535??2009-05-21?23:44??InfixToSuffix\obj\Debug\InfixToSuffix.o
?????文件???????5687??2009-05-21?23:43??InfixToSuffix\obj\Debug\main.o
?????文件???????5519??2009-05-21?23:43??InfixToSuffix\obj\Debug\stack.o
?????目錄??????????0??2009-05-21?23:44??InfixToSuffix\bin\Debug
?????目錄??????????0??2009-05-21?23:44??InfixToSuffix\obj\Debug
?????目錄??????????0??2009-05-19?23:06??InfixToSuffix\bin
?????目錄??????????0??2009-05-19?23:06??InfixToSuffix\obj
?????目錄??????????0??2009-05-21?23:44??InfixToSuffix
-----------?---------??----------?-----??----
????????????????45912????????????????????15
- 上一篇:文章編輯系統源代碼.cpp
- 下一篇:遺傳算法求解Rosenbrock最小值
評論
共有 條評論