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];
	}
}

}

优先队列

其特性与普通队列,不过内置了一个排序,排序用堆实现的.
可以实现升序和降序(默认降序)
详细

posted @   拍手称快  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示