java_队列

第一种使用的是java.util.Queue自带的队列库

第二种为循环队列,创建时必须确定该队列的大小,除了不可以扩容,其他基本上感觉都比自带的好,速度也快

java 复制代码
import java.util.Queue;
import java.util.LinkedList;
class util_queue{                //使用自带的Queue
	public Queue<Integer>queue=new LinkedList<>();
	public  boolean isEmpty() {
		return queue.isEmpty();
		
	}
	//向队尾加入数字
	public void offer(int num) {
		queue.offer(num);
	}
	//从头拿元素
	public int poll() {
		return queue.poll();
	}
	//拿头元素,但是不弹出
	public int peek() {
		return queue.peek();
	}
	public int size() {
		return queue.size();
	}
}
class Q{
	public int[] queue;
	int l=0,r=0;
	Q(int size){
		queue=new int[size+1];           //本身会浪费一个空间,用来判断是否为空数组或队满
	}
	public boolean isEmpty() {
		return l==r;
	}
	public boolean isFull() {
		return (r+1)%queue.length==l;
	}
	
	public boolean offer(int data) {
		if(this.isFull())return false;
		queue[r]=data;
		r=(r+1)%queue.length;
		return true;
	}
	public int poll() {
		if(this.isEmpty()) {
			return 0;
		}
		l=(l+1)%queue.length;
		return queue[(l-1+queue.length)%queue.length];
		
	}
	public int peek() {
		if(this.isEmpty())return 0;
		return queue[l];
	}
	public int size() {
		return r-l;
	}
}
public class queue {
	public static void main(String[] args) {
	//自行实现
	
}}
相关推荐
minglie121 小时前
micropython_spiFlash_w25qxx
开发语言·python
Loo国昌21 小时前
【LangChain1.0】第一篇:基础认知
后端·python·算法·语言模型·prompt
源代码•宸21 小时前
Golang原理剖析(channel面试与分析)
开发语言·经验分享·后端·面试·golang·select·channel
H Corey21 小时前
Java--面向对象之继承与多态
java·开发语言·windows·学习·算法·intellij-idea
Gofarlic_OMS21 小时前
如何将MATLAB网络并发许可证闲置率降至10%以下
大数据·运维·服务器·开发语言·人工智能·matlab·制造
ejinxian21 小时前
2026 年 Java 开发计划-Oracle公布
java·开发语言·java 开发计划
Sylvia-girl21 小时前
Java之日志框架
java·开发语言
MengFly_21 小时前
Java广播 —如何利用广播做服务发现
java·网络·服务发现
永远都不秃头的程序员(互关)21 小时前
【K-Means深度探索(三)】告别“初始陷阱”:K-Means++优化质心初始化全解析!
算法·机器学习·kmeans
zqmattack21 小时前
SQL sever根据身份证判断性别函数
java·数据库·sql