美文网首页
queue容器基本概念及常用接口

queue容器基本概念及常用接口

作者: lxr_ | 来源:发表于2021-04-14 13:00 被阅读0次
#include<iostream>
using namespace std;

#include<queue>
#include<ctime>

//queue是一种先进先出的数据结构,它有两个出口
//队列容器允许从一端新增元素,从另一端移除元素
//队列中进数据称为-入队push
//队列中出数据称为-出队pop

//只有队头和队尾能被访问,因此不允许有遍历行为

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

//赋值操作
//queue& operator=(const queue& que);//重载=操作符

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

//大小操作
//empty();判断堆栈是否为空
//size();返回栈的大小

class Person
{
public:
    Person(string name, int age)
    {
        this->m_Name = name;
        this->m_Age = age;
    }

    string m_Name;
    int m_Age;
};


void test0201()
{
    queue<Person> q;
    for (int i = 0; i < 10; i++)
    {
        string nameSeed = "ABCDEFGHIJ";
        string name = "学生";
        name += nameSeed[i];

        int age = rand() % 81 + 20;

        Person p(name, age);

        q.push(p);//入队
    }

    cout << "队列大小:" << q.size() << endl;

    while (!q.empty())
    {
        //查看队头
        Person p = q.front();
        cout << "姓名:" << p.m_Name << "\t" << "年龄:" << p.m_Age << endl;

        //查看队尾
        p = q.back();
        cout << "姓名:" << p.m_Name << "\t" << "年龄:" << p.m_Age << endl;

        //出队
        q.pop();
    }
    cout << "队列大小:" << q.size() << endl;

}

int main()
{
    srand((unsigned int)time(NULL));
    test0201();

    system("pause");
    return 0;
}

相关文章

网友评论

      本文标题:queue容器基本概念及常用接口

      本文链接:https://www.haomeiwen.com/subject/rbpklltx.html