,char>(OPTR), c)) { Р case '<': // 栈顶元素优先权低Р Push(OPTR, c); Р c=getchar();Р break;Р case '=" /> ,char>(OPTR), c)) { Р case '<': // 栈顶元素优先权低Р Push(OPTR, c); Р c=getchar();Р break;Р case '=" />

全文预览

算法与数据结构栈与队列实验报告

上传者:qnrdwb |  格式:doc  |  页数:6 |  大小:166KB

文档介绍
Push(OPND, Data);Р strcpy(TempData,"\0");Р }Р } Р else Р { // 不是运算符则进栈Р switch (precede(GetTop<SqStack<char>,char>(OPTR), c)) { Р case '<': // 栈顶元素优先权低Р Push(OPTR, c); Р c=getchar();Р break;Р case '=': // 脱括号并接收下一字符Р Pop(OPTR, x); Р c=getchar();Р break;Р case '>': // 退栈并将运算结果入栈Р Pop(OPTR, theta);Р Pop(OPND, b); Р Pop(OPND, a); Р Push(OPND, Operate(a, theta, b)); Р break;Р } // for switchР }Р } // for whileР return GetTop<SqStack<float>,float>(OPND);Р} // EvaluateExpressionРvoid main()Р{Р printf("请输入表达式,并以#结尾:\n");Р printf("%f\n",EvaluateExpression());Р}Р四、运行结果:Р实验心得Р 运用栈来实现最简单的四则运算,从实例中了解栈和队列的结构,以及进栈和出栈的过程。有关栈的构造、入栈、出栈等模块的代码都有源程序可参考,完成本实验的代码只需要组合学过的各个模块,结合起来进行相应的调试就可以实现。从中学会了写程序不一定所有代码都是自己重新写的,只要会运用、会调试就能高效地完成。这就要求在学习的过程中多积累好的源代码以备不时之需,也应该多尝试着自己去调试程序完成一些功能。这样在学好了算法与数据结构的前提下就能很快地写出自己需要的程序。

收藏

分享

举报
下载此文档