博客作业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.这个代码可以使车厢按照所需的顺序排列且减少影响列车出行。

posted @ 2018-04-14 21:02  烦呢,还要起名字  阅读(335)  评论(2编辑  收藏  举报