笔记(七)——queue容器的基础理论知识

本文介绍了C++标准库中的queue容器,它遵循先进先出(FIFO)原则。讨论了queue的默认构造、拷贝构造和赋值操作,以及如何添加、删除元素,获取队首队尾元素和检查容器状态。示例代码展示了这些操作的用法。
摘要由CSDN通过智能技术生成

queues是队列容器,元素遵循先进先出的顺序。

头文件:#include<queue>

一、queue容器的对象构造方法

queue采用模板类实现默认构造

例如queue<T> q;

#include<iostream>
#include<queue>
using namespace std;
int main()
{
    queue<int> queInt;
    queue<float> queFloat;
    queue<string> queString;

    queInt.push(5);//在栈头添加元素
    queInt.push(6);//在栈头添加元素
    queInt.push(7);//在栈头添加元素
    queInt.push(8);//在栈头添加元素
    
    while(!queInt.empty())    
    {
        cout<<queInt.front()<<endl;
        queInt.pop();//在栈头删除元素
    }    
    //输出5,6,7,8,符合先进先出 
    return 0;
}

queue对象的带参构造方式

  1. queue<T> que2(que1);拷贝构造函数

  1. queue& operator=(const queue &que);重载等号操作符。

#include<iostream>
#include<queue>
using namespace std;
int main()
{
    queue<int> queInt1;

    queInt1.push(5);//在栈头添加元素
    queInt1.push(6);//在栈头添加元素
    queInt1.push(7);//在栈头添加元素
    queInt1.push(8);//在栈头添加元素
    
    queue<int> queInt2(queInt1);
    queue<int> queInt3=queInt2;
    
    while(!queInt1.empty())    
    {
        cout<<queInt1.front()<<endl;
        queInt1.pop();//在栈头删除元素
    }    
    //输出5,6,7,8,符合先进先出 
    
    while(!queInt2.empty())    
    {
        cout<<queInt2.front()<<endl;
        queInt2.pop();//在栈头删除元素
    }    
    //输出5,6,7,8,符合先进先出 
    
    while(!queInt3.empty())    
    {
        cout<<queInt3.front()<<endl;
        queInt3.pop();//在栈头删除元素
    }    
    //输出5,6,7,8,符合先进先出
    return 0;
}

二、queue容器元素的存取

  1. queue.back();//返回最后一个元素

  1. queue.front();//返回第一个个元素

#include<iostream>
#include<queue>
using namespace std;
int main()
{
    queue<int> queInt1;

    queInt1.push(5);//在栈头添加元素
    queInt1.push(6);//在栈头添加元素
    queInt1.push(7);//在栈头添加元素
    queInt1.push(8);//在栈头添加元素

    cout<<queInt1.front()<<endl;
    cout<<queInt1.back()<<endl;

    //输出5,8,符合先进先出 

    return 0;
}

二、queue容器的大小

  1. queue.empty();//判断堆栈是否为空

  1. queue.size();//返回堆栈的大小

#include<iostream>
#include<queue>
using namespace std;
int main()
{
    queue<int> queInt1;

    queInt1.push(5);//在栈头添加元素
    queInt1.push(6);//在栈头添加元素
    queInt1.push(7);//在栈头添加元素
    queInt1.push(8);//在栈头添加元素
    
    cout<<queInt1.size()<<endl;
    //输出 4 
    while(!queInt1.empty())    
    {
        cout<<queInt1.front()<<endl;
        queInt1.pop();//在栈头删除元素
    }    
    //输出5,6,7,8,符合先进先出 
    
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值