c++ STL函数大全(三):queue

 

目录

0 准备

一 initialize & assignment

二 operator 

三 常见写法

四 集成函数


前言:队列是FIFO,(先进先出)

0 准备

#include<queue> 

一 initialize & assignment

queue<string> q;

二 operator 

操作无非就是增删查改,,,,

2.1 add 

//在队尾插入一个元素
q.push("china");

2.2 delete

//把队首的元素删除,也就是最早进去的元素。void函数
q.pop() 

2.3 query

//返回队列中元素的个数,返回值类型为unsigned int
q.size()


//是否为空,空则为true不空为false。
q.empty()

//返回队首元素,即最早进去的。
q.front()

//返回队尾元素,即最晚进去的。
q.back()

2.4 change 

 

三 常见写法

3.1 遍历

//queue 没有迭代器。访问元素的唯一方式是遍历容器内容,并移除访问过的每一个元素。
deque<double> values {1.5, 2.5, 3.5, 4.5}; 
queue<double> numbers(values);

while (!numbers.empty())
    {
        cout << numbers. front() << " "; // Output the 1st element 
        numbers. pop();  // Delete the 1st element
    }

四 集成函数

4.1 deque

4.2 priority_queue 优先队列

//队头最大  (默认)
priority_queue(int) p_q;  
//队头最大  (默认)
priority_queue(int) p_q;  


priority_queue<int,vector<int>,greater<int> > q; 队头最小



q.top() 获取优先队列中最大的元素(并不删除),其时间复杂度为O(1) 
 
q.pop() 删除优先队列中最大元素,其时间复杂度为O(logn) 
 
q.push(x) 向优先队列中加入元素,其时间复杂度为O(logn) 

 
q.empty() 判断优先队列是否为空 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值