我是靠谱客的博主 愤怒往事,最近开发中收集的这篇文章主要介绍C++ queue队列 (详细),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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队列 (详细)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部