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) {
	//自行实现
	
}}
相关推荐
码匠许师傅9 分钟前
【C++ 面试真题】聊聊 C++ 的类型特征( type_traits)
java·c++·面试
名字还没想好☜10 分钟前
Python asyncio.Queue 实战:用生产者-消费者给爬虫/任务流限速又解耦
开发语言·爬虫·python·并发·asyncio
java1234_小锋10 分钟前
Spring框架的创始人开发了一个Java AI智能体框架
java·人工智能·spring
夏天拐跑了西瓜12 分钟前
Eureka注册中心——单机与高可用集群搭建
java·spring cloud·微服务·eureka
Caster_Z14 分钟前
IntelliJ IDEA 安装 Qoder CN (Formerly Lingma)
java·ide·intellij-idea
前端炒粉21 分钟前
fetch+readablestream(Streamable)流式输出
java·服务器·前端
珍珠先生29 分钟前
第18章 泛型入门
java
玉树临风ives29 分钟前
atcoder ABC 472 题解
数据结构·c++·算法
我命由我1234530 分钟前
人脸识别 - 判断人脸是否在画面中央
java·人工智能·python·java-ee·人脸识别·android jetpack·android runtime
程序猿乐锅30 分钟前
从 dsh 源码看「一切皆插件」与 Spring IoC
java·网络·数据库·人工智能·后端·spring