美文网首页
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