博客作业03--栈和队列
1.学习总结(2分)
2.PTA实验作业(4分)
2.1 题目1:jmu-字符串是否对称
2.2 设计思路(伪代码或流程图)
定义字符数组str[100];
用函数gets()读入数据;
for i=0 to str[i]!='\0'
将数据入栈
使len=strlen(str)
利用Palindrome(str,len)判断是否对称;
return 1 打印yes
否则 打印no
2.3 代码截图
2.4 PTA提交列表说明
对于对称判断,没考虑n为奇数时的情况
2.1 题目2:7-1 jmu-报数游戏
2.2 设计思路(伪代码或流程图)
判断m,n的大小
if(m>n)
打印error
for i=0 to i=n
入队
利用尾指针给每个人编号
while(!QueueEmpty(Q))
if 队列不为空
头指针开始递增
尾指针循环
end
2.3 代码截图
2.4 PTA提交列表说明
利用c编译,所以编译错误
2.1 题目3:7-2 银行业务队列简单模拟
2.2 设计思路(伪代码或流程图)
定义整型变量 e,n,i<-0;
输入n;
定义队列A,B;
for i<-0 to n
do 输入e
if e为奇数
进A队列
else e为偶数
进B队列
end
if A队列不为空
输出A队列头
删除A队列头
else
输出B队列头
删除B队列头
end
2.3 代码截图
2.4 PTA提交列表说明
在输出e的时候,在B队列那里输出完后没有删除
3.截图本周题目集的PTA最后排名(3分)
3.1 栈PTA排名
3.2 队列PTA排名
3.3 我的总分:205
4. 阅读代码
1 ====== <--移动方向
/
3 =====
2 ====== -->移动方向
这是列车厢调度问题,对于列车厢的调度,对照上方的ASCII字符图,问题描述如下:
有三条平行的列车轨道(1、2、3)以及1-3和2-3两段连接轨道。现有一列车厢停在1号轨道上,请利用两条连接轨道以及3号轨道,将车厢按照要求的顺序转移到2号轨道。规则是:
每次转移1节车厢;
处在1号轨道的车厢要么经过1-3连接道进入3号轨道(该操作记为"1->3"),要么经过两条连接轨道直接进入2号轨道(该操作记为"1->2");
一旦车厢进入2号轨道,就不可以再移出该轨道;
处在3号轨道的车厢,只能经过2-3连接道进入2号轨道(该操作记为"3->2");
显然,任何车厢不能穿过、跨越或绕过其它车厢进行移动。
对于给定的1号停车顺序,如果经过调度能够实现2号轨道要求的顺序,则给出操作序列;如果不能,就反问用户 Are(你) you(是) kidding(凯丁) me(么)??