标签:退出 示意图 第一个 栈和队列 图片 流程图 文件 博客 直接
2.1 题目1:7-1 jmu-报数游戏(15 分)
定义一个新队列
for i=1 to i<=n
把各个元素一一存放到队列中
while q.size()!=1
如果0==((i+1)%m)且q.size()<m
找到该元素,直接输出队列的头元素,再把该元素出队列
否则
不是目标元素,把该队列的头元素取出再放到队列结尾
不断循环以上操作,直到队列中只剩一个元素,最后输出最后一个元素
写这道题不知道怎么用队列来实现这个算法,后来通过画示意图,得到了一个规律,就是不断把前面元素放到结尾,但是完全不会影响到要退出圈子的人的顺序,知道这个规律后,再运用queue头文件,就不难写出该代码。
定义两个新队列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)队列都办理完业务
这个代码比较简单,只要把元素按奇偶分类成两个队列,再把两个队列中的元素按办理时间顺序依次输出。要注意的是输出A队列的第一个数后,不能直接就输出第二个,要先判断此时的A队列是否为空。
2.2 题目3:题目名称
本次2个题目集总分:125+215=340分
必做题共:205分
截图排名时候,注意把相邻同学排名一起截图。标注自己名字。学号不需截图。
3.3 我的总分
标签:退出 示意图 第一个 栈和队列 图片 流程图 文件 博客 直接
原文地址:https://www.cnblogs.com/q2634615476/p/8836331.html