Queue(队列)
特性
先进先出,允许再表的一端进行删除另一端进行插入运算。
STL方式
- 头文件
#include<queue>
- 定义
queue<int > q;//建立一个队列q,其内部元素类型是int;
- 函数
q,push(a);//将元素a插入到队列q的末尾/
q.pop();//删除队列q的队首元素。
q.front();//查询q的队首元素。
q.back();//查询q的队尾元素。
q.size();//查询q的元素个数。
q.empty();//查询q是否为空
手动队列
int queue[MAXN];//开辟队列所需要的数组空间,MAXN为队列的最大能入队元素的次数
int head=0;//队首指针。
int tail=0;//队尾指针,新元素插入位置。
各函数实现
void push(int x){//进队,需要判断是否溢出
if(tail>MAXN){
}else{
queue[tail]=x;tail+=1;
}
}
void pop(){//弹出队首元素,需要判断是否队列为空。
if(head==tail){
}else{
head+=1;
}
int front(){//查询队首元素,需要判断是否队列为空。
if(head==tail){
return -1;
}else{
return queue[head];
}
}
}
优先队列
其特性与普通队列,不过内置了一个排序,排序用堆实现的.
可以实现升序和降序(默认降序)
详细
合集:
线性表
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?