概述
1.在头文件中定义(在程序开头输入#include < queue >)
2.队列是一种特殊的线性表,是一种**先进先出(FIFO)**的数据结构。
它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。
进行插入操作的端称为队尾,进行删除操作的端称为队头。
队列中没有元素时,称为空队列。
在队列这种数据结构中,最先插入在元素将是最先被删除;
反之最后插入的元素将最后被删除,因此队列又称为“先进先出”
3. 成员函数:
q.empty()
判断队列q是否为空,当队列q空时,返回true;否则为false(值为0(false)/1(true))。
q.size()
访问队列q中的元素个数。不可写成sizeof(q)或size(q)
q.push()
会将一个元素a置入队列q中
q.front()
返回队列q内的第一个元素(也就是第一个被置入的元素)。(不可写成front(q))
q.back()
会返回队列q中最后一个元素(也就是最后被插入的元素)。(不可写成back(q))
q.pop()
会从队列q中移除第一个元素。(不可写成pop(q))
**注意:**pop()虽然会移除第一个元素,但是并不返回它。front()和back()返回一个元素但并不移除该元素。
在stack库中的top()函数与queue很类似,但是stack中要返回元素时,只能返回最后一个元素,且函数名不一样(stack中为s.top()),需要区分。
示例
#include <cstdlib>
#include <iostream>
#include <queue>
using namespace std;
int main()
{
int e,n,m;
queue<int> q1;//定义
for(int i=0;i<10;i++)
q1.push(i);//入队
if(!q1.empty())//是否为空队列
cout<<"dui lie bu kongn";
n=(int)q1.size();//队列大小
cout<<n<<endl;
m=q1.back();//取队列最后一个元素
cout<<m<<endl;
for(int j=0;j<n;j++)
{
e=q1.front();//取队列第一个元素
cout<<e<<" ";
q1.pop();//删除队列第一个元素(最先入队的元素)
}
cout<<endl;
if(q1.empty())
cout<<"dui lie bu kongn";
system("PAUSE");
return 0;
}
最后
以上就是愤怒往事为你收集整理的C++ queue队列 (详细)的全部内容,希望文章能够帮你解决C++ queue队列 (详细)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复