第一范文网 - 专业文章范例文档资料分享平台

长沙理工大学数据结构栈的实现及应用算术表达式求值实验报告

来源:用户分享 时间:2025/6/6 10:15:03 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

//判断TypeStack是否为满 bool IsFull_Type(Stack S) { }

void Push_Char(Stack *S, char ch) { }

void Push_Type(Stack *S, Type a) { }

char Pop_Char(Stack *S)

//TypeStack不为满则入栈,否则输出提示 if(!IsFull_Type(*S))

S->TypeStack[S->TypeTop++] = a; //charStack不为满则入栈,否则输出提示 if(!IsFull_Char(*S))

S->charStack[S->charTop++] = ch; return S.TypeTop == MAX;

else

cout << \

else

cout << \

{ }

Type Pop_Type(Stack *S) { }

char Top_Char(Stack S) {

if(!IsEmpty_Char(S)) if(!IsEmpty_Type(*S)) { } else

cout << \S->TypeTop--;

return S->TypeStack[S->TypeTop]; if(!IsEmpty_Char(*S)) { } else

cout << \S->charTop--;

return S->charStack[S->charTop];

return -1;

return -1;

}

return S.charStack[--S.charTop];

else

cout << \

return -1;

Type Top_Type(Stack S) { }

Type Calculate(Type left, Type right, char op) {

Type value = 0; switch(op) {

case '+': value = left + right; break; case '-': value = left - right; break; case '*': value = left * right; break; case '/': if(right != 0)

value = left / right;

if(!IsEmpty_Type(S))

return S.TypeStack[--S.TypeTop];

else

cout << \

return -1;

else

}

cout << \被除数不能为零!\

break;

case '%': if(right != 0)

value = (int)left % (int)right;

else

cout << \被余数不能为零!\

break;

case '^': value = pow(left,right); /*value = 1; }

return value;

if(right >= 0)

while(right--)

value *= left;

else { }*/

right = -right; while(right--)

value /= left;

void Computer(char *mid_equotion, Type len) {

Type right, left , result;

长沙理工大学数据结构栈的实现及应用算术表达式求值实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2wgj530fcn3z01x0bvw21wxgu8k8be00ngx_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top