数据结构表达式求值Word格式.docx
- 文档编号:15910733
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:17
- 大小:22.38KB
数据结构表达式求值Word格式.docx
《数据结构表达式求值Word格式.docx》由会员分享,可在线阅读,更多相关《数据结构表达式求值Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
inttop;
}Stack_char;
voidInitStack(Stack_char*S)//初始化顺序栈
{
S->
top=-1;
}
intPush(Stack_char*S,charx)//进栈
if(S->
top==Stack_Size-1)return(FALSE);
top++;
elem[S->
top]=x;
return(TRUE);
}
intPop(Stack_char*S,char*x)//出栈
top==-1)return(FALSE);
else
*x=S->
top];
top--;
return(TRUE);
intGetTop(Stack_char*S,char*x)//取栈顶
}
charGetTop(Stack_charS)
charx;
GetTop(&
S,&
x);
returnx;
//建立数字栈
typedefstruct//建立
floatelem[Stack_Float];
}Stack_float;
voidInitStack(Stack_float*S)//初始化
intPush(Stack_float*S,floate)//进栈
top==Stack_Float-1)return(FALSE);
top]=e;
intPop(Stack_float*S,float*x)//出栈
intGetTop(Stack_float*S,float*x)//取栈顶
floatGetTop(Stack_floatS)
floatx;
boolIn(charch)//判断字符
if(ch=='
+'
||ch=='
-'
*'
/'
('
)'
#'
)
elsereturn(FALSE);
}
floatGetNumber(char*ch)//转化数码
return(*ch-48);
floatExecute(floata,charop,floatb)
switch(op)
case'
:
return(a+b);
break;
return(a-b);
return(a*b);
return(a/b);
default:
cout<
<
"
不能运算"
;
charCompare(charx,charch)
if(x=='
||x=='
)return('
>
'
);
elsereturn('
)return('
elsereturn('
)
='
if(ch!
floatExpEvaluation()
floatn,v,a,b;
charop;
Stack_charOPTR;
Stack_floatOVS;
InitStack(&
OPTR);
OVS);
Push(&
OPTR,'
cout<
请输入一个表达式串(以#结束)"
endl;
charch;
ch=getchar();
while(ch!
||GetTop(OPTR)!
if(!
In(ch))
n=GetNumber(&
ch);
OVS,n);
switch(Compare(GetTop(OPTR),ch))
OPTR,ch);
break;
Pop(&
OPTR,&
op);
OVS,&
b);
a);
v=Execute(a,op,b);
OVS,v);
v=GetTop(OVS);
return(v);
intmain()
ExpEvaluation()<
system("
pause"
return0;
}
完善版
if(S->
voidClearStack(Stack_char*S)//清空栈
top!
=-1)S->
/*建立数字栈*/
voidClearStack(Stack_float*S)//清空栈
/*一些函数*/
chara[7]={'
'
'
};
charp[7][7]=//优先权集合
{{'
},
{'
@'
}};
boolIns(charch)//判断数字
if(ch>
=48&
&
ch<
=57)return(TRUE);
boolInc(charch)//判断字符
return
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 表达式 求值
![提示](https://static.bdocx.com/images/bang_tan.gif)