queue提供了先进先出(First In First Out)的数据结构。队列在尾部添加元素, 在头部删除元素。
常见应用有:模拟、约瑟夫环、bfs、分支限界搜索、单调队列等算法
创建队列
queue<int> q; // 创建一个int类型的队列
添加元素(入队)
使用push()函数将元素添加到队列的尾部
q.push(10); // 将10添加到队列尾部
q.push(20);
q.push(30);
删除元素(出队)
使用pop()函数删除队列的头部元素
q.pop(); // 删除队列头部元素, 即10
访问队列头部元素
使用front()函数获取队列头部元素的应用
int frontElement = q.front(); // frontElement 现在是20
访问队列尾部元素
使用back()函数获取队列尾部元素的应用
int backElement = q.back(); // backElement 现在是30
检查队列是否为空/获取队列大小
用empty()函数检查队列是否为空
if(q.empty()) {
cout << "队列是空的" << endl;
} else {
cout << "队列不是空的" << endl;
}
int size = q.size(); // size 现在是2