#144. 数据结构-queue队列

数据结构-queue队列

知识点:

队列(Queue)是一种常见的数据结构,它遵循 先进先出(FIFO)的原则。队列有两个主要的操作:

入队:向队尾插入新元素。 出队:从队头移除元素。

除了这两个基本操作外,队列通常还包括以下操作:

队列判空:检查队列是否为空。

队列长度:获取队列中元素的个数。

获取队头元素:获取队头元素的值,但不移除它。

队列常用于模拟排队、任务调度等场景。在后续算法学习中,BFS广度优先搜索也要借助队列来实现。

STL 队列用法

#include<queue>
queue<int> q;
q.push(x);  // 队尾插入x
q.pop();    // 弹出队头
q.front();  // 查看队头
q.back();   // 查看队尾
q.size();   // 查看q元素个数
q.empty();  // 查看q是否为空

题目

nn个人围成一圈,编号依次为 11,22,33nn。从第一个人开始报数,数到 mm的人出圈,再由下一个人重新从11开始报数,数到mm的人再出圈。以此类推,直到所有的人都出圈。请输出依次出圈人的编号。

输入格式

两个整数 nn mm(1n,m1001≤n,m≤100)。

输出格式

nn 个用空格分隔的整数,表示出圈人的编号。

样例

6 4
4 2 1 3 6 5