STL模板库-队列

queue头文件

1.循环队列(queue)

queue<数据类型>变量名;
queue<int>q;
  • front():返回 queue 中第一个元素的引用。如果 queue 是常量,就返回一个常引用;如果 queue为空,返回值是未定义的。
  • back():返回 queue 中最后一个元素的引用。如果 queue 是常量,就返回一个常引用;如果 queue为空,返回值是未定义的。
  • push(const T& obj):在 queue 的尾部添加一个元素的副本。这是通过调用底层容器的成员函数 push_back()来完成的。
  • push(T&& obj):以移动的方式在 queue 的尾部添加元素。这是通过调用底层容器的具有右值引用参数的成员函数push_back() 来完成的。
  • pop():删除 queue 中的第一个元素。
  • size():返回 queue 中元素的个数。
  • empty():如果 queue 中没有元素的话,返回 true。
  • emplace():用传给 emplace() 的参数调用 T 的构造函数,在 queue 的尾部生成对象。
  • swap(queue &other_q):将当前 queue 中的元素和参数 queue 中的元素交换。它们需要包含相同类型的元素。也可以调用全局函数模板 swap() 来完成同样的操作。

2.优先队列(priority_queue)

  1. 大根堆

    priority_queue<int>q;
    
  2. 小根堆

deque头文件

双端队列(deque)

  • 双端队列deque支持队列两端高效地插入或删除元素的连续性存储空间。与vector相比,deque在头部增删元素只需要O ( 1 ) O(1)O(1),并且deque像数组一样支持下标随机访问。
  • 操作
    操作意义和时间复杂度
    []随机访问 O(1)
    begin/enddeque的头/尾迭代器O ( 1 )
    front/back队头/队尾元素O ( 1 )
    push_front从队头入队O ( 1 )
    push_back从队尾入队O ( 1 )
    pop_front从队头出队O ( 1 )
    pop_back从队尾出队O ( 1 )
    clear清空队列O ( n )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值