码迷,mamicode.com
首页 > 其他好文 > 详细

博客作业03--栈和队列

时间:2018-04-15 11:56:29      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:退出   示意图   第一个   栈和队列   图片   流程图   文件   博客   直接   

1.学习总结(2分)

2.PTA实验作业(4分)

2.1 题目1:7-1 jmu-报数游戏(15 分)

2.2 设计思路(伪代码或流程图)

定义一个新队列  
  for  i=1 to i<=n
     把各个元素一一存放到队列中

while   q.size()!=1
      如果0==((i+1)%m)且q.size()<m
           找到该元素,直接输出队列的头元素,再把该元素出队列
      否则
           不是目标元素,把该队列的头元素取出再放到队列结尾

不断循环以上操作,直到队列中只剩一个元素,最后输出最后一个元素

2.3 代码截图

技术分享图片

2.4 PTA提交列表说明。

技术分享图片

写这道题不知道怎么用队列来实现这个算法,后来通过画示意图,得到了一个规律,就是不断把前面元素放到结尾,但是完全不会影响到要退出圈子的人的顺序,知道这个规律后,再运用queue头文件,就不难写出该代码。

2.1 题目2:7-2 银行业务队列简单模拟(25 分)

2.2 设计思路(伪代码或流程图)

定义两个新队列A和B
    for  i=0  to  i<n  
        输入的数为奇数入的A队列,为偶数入B队列
    end i
        当A.size()!=0且B.size()!=0
          A中头元素为最先办理的,输出该值后出队列,再输出A的新头元素并出队列。
              第三个办理的是B头元素,输出该值并出队列。
       不断循环上式,直到其中一个队列全部人都办理完业务
    当B.size()!=0或A.size()!=0
        输出B(A)头元素并出队列
        循环直到B(A)队列都办理完业务

2.3 代码截图

技术分享图片
技术分享图片

2.4 PTA提交列表说明。

技术分享图片
这个代码比较简单,只要把元素按奇偶分类成两个队列,再把两个队列中的元素按办理时间顺序依次输出。要注意的是输出A队列的第一个数后,不能直接就输出第二个,要先判断此时的A队列是否为空。

2.2 题目3:题目名称

2.2 设计思路(伪代码或流程图)

2.3 代码截图

2.4 PTA提交列表说明。

3.截图本周题目集的PTA最后排名(3分)

本次2个题目集总分:125+215=340分
必做题共:205分

3.1 栈PTA排名

截图排名时候,注意把相邻同学排名一起截图。标注自己名字。学号不需截图。

3.2 队列PTA排名

3.3 我的总分

4. 阅读代码(必做,1分)

5. 代码Git提交记录截图

博客作业03--栈和队列

标签:退出   示意图   第一个   栈和队列   图片   流程图   文件   博客   直接   

原文地址:https://www.cnblogs.com/q2634615476/p/8836331.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!