黑马C++视频笔记《STL之queue》

队列
/* queue容器
 * queue是一种先进先出(First In First Out,FIFO)的数据结构,他有两个出口.
 *
 * 队列从一端进入数据,另一端出数据。
 * 队列中只有队首和队尾才可以被外界使用,因此队列不允许有遍历行为.
 *
 * 构造函数(采用模板类实现):
 *  - `queue<T> que;`,默认构造形式;
 *  - `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 test001(){
    //创建队列
    queue<Person> q;

    //准备数据
    Person p1("猴哥", 1000);
    Person p2("八戒", 400);
    Person p3("沙师弟", 200);
    Person p4("师傅", 30);

    // 入队
    q.push(p1);
    q.push(p2);
    q.push(p3);
    q.push(p4);
    // 队列无法遍历,所以这里没有用for循环
    while (!q.empty()){
        cout << "队头元素:" << q.front().m_name<< q.front().m_age
            << " 队尾元素:"<<q.back().m_name<<q.back().m_age << endl;
        q.pop();
    }

}

int main(){
    test001();
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容