STL之queue容器

1.queue容器

  1.1 queue容器基本概念

  Queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口,queue容器允许从

一端新增元素,从另一端移除元素。

                                

                                   

  1.2  queue没有迭代器 

  Queue所有元素的进出都必须符合”先进先出”的条件,只有queue的顶端元素,才有机会被外界取用。

Queue不提供遍历功能,也不提供迭代器。

2.queue常用API

  2.1 queue构造函数

queue<T> queT;//queue采用模板类实现,queue对象的默认构造形式:
queue(const queue &que);//拷贝构造函数

  2.2 queue存取、插入和删除操作

push(elem);//往队尾添加元素
pop();//从队头移除第一个元素
back();//返回最后一个元素
front();//返回第一个元素

  2.3 queue赋值操作

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

  2.4 queue大小操作

empty();//判断队列是否为空
size();//返回队列的大小

 代码示例:

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<queue>
using namespace std;

/*Queue所有元素的进出都必须符合”先进先出”的条件,
只有queue的顶端元素,
才有机会被外界取用。
Queue不提供遍历功能,
也不提供迭代器。*/


void test()
{
    //没有迭代器
    queue<int> q;
    q.push(10);
    q.push(20);
    q.push(30);
    q.push(40);

    queue<int> q1;

    //while (!q.empty())
    //{
    //    cout << "队头"<<q.front() << endl;
    //    cout << "队尾" << q.back() << endl;
    //    cout << q.size() << endl;
    //    
    //    q.pop();
    //}
    q1 = q;

    while (!q1.empty())
    {
        cout << "队头" << q1.front() << endl;
        cout << "队尾" << q1.back() << endl;
        cout << q1.size() << endl;
        q1.pop();
        cout << "容器所占字节" << sizeof(q1) << endl;
    }
}

int main()
{
    test();
    system("pause");
    return EXIT_SUCCESS;
}

 

posted @ 2020-06-15 10:17  AI_ON  阅读(96)  评论(0)    收藏  举报