第03次作业-栈和队列
第03次作业-栈和队列
一、学习总结
思维导图
二、PTA实验作业
题目一:
7-3 表达式转换(25 分)
算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。
输入格式:
输入在一行中给出不含空格的中缀表达式,可包含+
、-
、*
、\
以及左右括号()
,表达式不超过20个字符。
输出格式:
在一行中输出转换后的后缀表达式,要求不同对象(运算数、运算符号)之间以空格分隔,但结尾不得有多余空格。
3.代码截图
4.PTA提交列表说明
- 编译错误:用 c 的编译器运行 c++ 文件
解决方法:将上传选项改为 c++
题目二:
2.设计思路:
定义结构体类型 node 代表路径选择
定义node型数组 step
定义变量 tops 代表step下标并赋初值 -1
定义数组 stack1 stack2 stack3 分别代表车厢入站顺序 车厢出站顺序 中转顺序
for 0 to len(stack1)-1
if 轨道1出站车厢==轨道2进站车厢
then 路线为1->2
else if 轨道3存放车厢==轨道2进站车厢
then 路线为 3->2
else 轨道1出来的车厢暂存到轨道3
then 路线为1->3
end
3.代码截图
4.PTA提交列表说明
题目三:7-2 银行业务队列简单模拟(25 分)
2.设计思路:
创建队伍 A B
定义变量 data 为顾客编号
for 0 to 总顾客人数
if data 为偶数
then 入B队
else
入A队
end
while A,B队伍均有人
A先出队两人
if A 队第二次无人
then 跳出循环
B出队一人
end
while A
A队顾客按顺序出队
end
while B
B队顾客按顺序出队
end
3.代码截图
4.PTA提交列表说明
三、截图本周题目集的PTA最后排名
1.栈PTA排名
2.队列PTA排名
3.我的总分:2.5分必做题全部做完,选做题做部分
四、阅读代码
题目:表达式后缀转换
优点:
- 利用两个栈,一个存放运算符,一个存放中间结果,最后弹出第二个栈的逆序,减小出错概率
- 此代码条理清晰让人易懂
代码相关地址:https://blog.csdn.net/King_Like_Coding/article/details/51798709