博客作业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(么)??

posted @ 2018-04-14 16:38  l杨发热  阅读(266)  评论(5编辑  收藏  举报