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) {
	//自行实现
	
}}
相关推荐
BUG?不,是彩蛋!几秒前
Maven-Java 项目到底解决了什么痛点?
java·servlet·maven
小池先生1 分钟前
idea配置代码注释模板
java·ide·intellij-idea
inferno2 分钟前
Maven基础(一)
java·开发语言·maven
摇滚侠6 分钟前
Spring Boot3零基础教程,Reactive-Stream 规范核心接口,笔记103
java·spring boot·笔记
csbysj20208 分钟前
SQLite Truncate Table: 完全删除表中的数据
开发语言
闻缺陷则喜何志丹25 分钟前
【贪心 字典序 回文 最长公共前缀】LeetCode3734. 大于目标字符串的最小字典序回文排列|分数未知
c++·算法·力扣·贪心·字典序·回文·最长公共前缀
tung tung tung sahur33 分钟前
领略 Rust 抽象之美:自定义迭代器实现全解析
开发语言·后端·rust
ftpeak39 分钟前
《Rust MP4视频技术开发》第八章:生成MP4
开发语言·rust·音视频·mp4
weixin_5142218544 分钟前
FDTD代码学习-1
学习·算法·lumerical·fdtd
程序猿小蒜1 小时前
基于springboot的校园社团信息管理系统开发与设计
java·前端·spring boot·后端·spring