博客作业03--栈和队列
1.学习总结(2分)
1.1写出你认为本周学习中比较重要的知识点关键词
-
逻辑结构:有集合,线性结构,树形结构和图形结构
-
栈:后进先出。可以顺序表存储和链表存储。
-
队列:先进先出。可以顺序表存储和链表存储。
-
存储结构和方式:顺序存储方式,链式存储方式和索引存储方式,散列存储方式(空间复杂度,时间复杂度)。
1.2
2.PTA实验作业(4分)
2.1 题目1:jmu-字符串是否对称
2.2 设计思路(伪代码或流程图)
定义字符数组str[100];两个top一个指向栈头,一个指向栈尾
用函数gets()读入数据;
for i=0 to str[i]!='\0'
将数据入栈
利用 duicheng(Stack S)判断是否对称;
若对称yes,否则 no
2.3 代码截图
2.4 PTA提交列表说明
多次开辟空间,导致只有一个元素在内,所以直接开辟空间一次即可
2.1 题目2:7-1 jmu-报数游戏
2.2 设计思路(伪代码或流程图)
判断m,n的大小
if(m>n) 输出error!
for i=0 to i=n入队,并将其编号
if 队列不为空
头指针开始递增
尾指针循环
end
每次念一个数字 如果不是指定数字则将这个人出队再入队,如果是则出队,并输出此人编号,并从头读数。
2.3 代码截图
2.4 PTA提交列表说明
当m<n时没有结束这个程序,所以还会继续执行,所以只要补上return 0。
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提交列表说明
输出空格时两个队列只要有一个非空就可以输出空格,所以用||;
3.截图本周题目集的PTA最后排名(3分)
3.1 栈PTA排名
3.2 队列PTA排名
3.3 我的总分:205
4. 阅读代码
列车厢调度问题,对于列车厢的调度,问题描述如下:
有三条平行的列车轨道(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 ??
比较1轨道和2轨道的车厢是否按照相同顺序,如果是则是直接由1到2,若不是则是由1到3再到2.这个代码可以使车厢按照所需的顺序排列且减少影响列车出行。