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 @ 2024-02-04 10:38  拍手称快  阅读(16)  评论(0编辑  收藏  举报