Advertisement

CSPJava项目中学生进行注册/选课排队

阅读量:

问题描述

体育教师小明需要将其班级中的学生按特定顺序排列。他首先要求学生们依据学号从小到大的方式进行排列,学号较小的学生排在队列的前面,之后进行若干次调整操作。每次调整时,小明可能让某位学生暂时离开队列,并向前或向后移动一定数量的位置后再重新插入队列中。

例如,以下展示了一组调整操作的具体过程,其中学生的总人数为8人。
0)初始状态下,队列中学生的学号依次为1, 2, 3, 4, 5, 6, 7, 8;
1)第一次调整操作为“3号学生向后移动2”,意味着该学生先被移出队列,然后向后移动两个位置再插入到队列中,此时新形成的队列中学生的学号依次为1, 2, 4, 5, 3, 6, 7, 8;
2)第二次调整操作为“8号学生向前移动3”,表示该学生先被移出队列,向前移动三个位置后再插入到队列中,此时新形成的队列中学生的学号依次为1, 2, 4, 5, 8, 3, 6, 7;
3)第三次调整操作为“3号学生向前移动2”,即该学生先被移出队列,向前移动两个位置后再插入到队列中,此时新形成的队列中学生的学号依次为1, 2, 4, 3, 5, 8, 6 ,7。

小明记录了所有这些调整的过程,请问最终从前往后所有学生的学号顺序是怎样的?

特别需要注意的是,在上述的移动过程中所涉及的编号指的是学生的学号,并非其在队伍中的具体位置。当进行向后移动时,所指

全部评论 (0)

还没有任何评论哟~