#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是否为空
题目
个人围成一圈,编号依次为 ,,…。从第一个人开始报数,数到 的人出圈,再由下一个人重新从开始报数,数到的人再出圈。以此类推,直到所有的人都出圈。请输出依次出圈人的编号。
输入格式
两个整数 ()。
输出格式
个用空格分隔的整数,表示出圈人的编号。
样例
6 4
4 2 1 3 6 5