STL容器之queue

发布时间 2023-04-14 22:34:11作者: 无形深空

是什么

循环队列, FIFO先进先出

image

怎么用

初始化

//C11
deque<int> deq{1,2,3,4,5};

//拷贝构造,可以拷贝deque
queue<int> que(deq);

//100个5
queue<int> que2(100,5);

//运算符重载
que2 = que;

操作

//队尾添加元素 (这里只有一个出入口, 就无所谓前后了 也不用什么push_back())
que.push(1);

//弹出队首的元素
que.pop();

//在队尾构造并插入新元素
que.emplace("2");

查看状态类

  • ps: stack 和 queue 都是 deque 的特殊情况, 他们不提供迭代器操作, 自然地, 不支持[]访问
//返回bool类型,如果为空,返回1,否则返回0
que.empty();

//返回队首元素的引用
que.front();

//返回队尾元素的引用
que.back();

//大小
que.size();

//把两个队列的内容交换一下 自己有swap就用自己的
que.swap(que2);

非成员函数重载

//交换内容
swap(que,que2);