数据结构--队列--范例
是大阿张啊
共 1215字,需浏览 3分钟
· 2024-03-22
“ 每天都可以成长一点点”
01
—
public class ArrayQueue {
//队列容量
public int size;
//队列头部下标
public int front;
//队列尾部下标
public int rear;
//数组
public int arr[];
public ArrayQueue(int size){
this.size = size + 1; //默认留一个空地址
this.front = 0;
this.rear = 0;
this.arr = new int[size+1];
}
/**
* 是否满队
* @return
*/
public boolean isFull(){
return (rear+1) % size == front;
}
/**
* 是否空队
* @return
*/
public boolean isEmpty(){
return rear == front;
}
/**
* 入队
* @param item
*/
public void push(int item){
if(isFull()){
throw new RuntimeException("队列已满,入队失败");
}
arr[rear] = item;
rear = (rear + 1) % size;
}
/**
* 出队
* @return
*/
public int pop(){
if(isEmpty()){
throw new RuntimeException("队列为空");
}
int item = arr[front];
front = (front + 1) % size;
return item;
}
/**
* 队列长度
* @return
*/
public int length(){
return (rear + size - front) % size;
}
/**
* 显示整个队列
*/
public void show(){
if(isEmpty()){
throw new RuntimeException("队列为空");
}
for (int i = front; i < front+length(); i++) {
System.out.print(arr[i%size]+"\t");
}
System.out.printf("\n");
}
public int getHeader(){
if(isEmpty()){
throw new RuntimeException("队列为空");
}
return arr[front];
}
}
评论
Java版【数据结构与算法】的天花板,收藏好,慢慢看
Java 版数据结构与算法来了,堪称 java 版数据结构与算法的天花板,需要学数据结构与算法的,刷这套就可以了,目录如下,文末附教程地址。基础数据结构-001-二分查找-算法描述基础数据结构-002-二分查找-算法实现基础数据结构-003-二分查找-问题1-循环条件基础数据结构-004-二分查找-
路人甲Java
0
亲测极其适合广大考研学子的数据结构编程网站
今日推荐 Hello
Algo - go.com/ 本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。 全书采用 动画图解 ,结构化地讲解数据结构与算法知识,内容清晰易懂,学习曲线平滑。 算法源代码皆可一键运...
PHP在线
0
消息队列的七种经典应用场景
在笔者心中,消息队列,缓存,分库分表是高并发解决方案三剑客。在职业生涯中,笔者曾经使用过 ActiveMQ 、RabbitMQ 、Kafka 、RocketMQ 这些知名的消息队列 。这篇文章,笔者结合自己的真实经历,和大家分享消息队列的七种经典应用场景。1 异步&解耦笔者曾经负责某电商公司
Java3y
0
队列专题
232.用栈实现队列 https://leetcode.cn/problems/implement-queue-using-stacks/ 题目描述 使用栈实现队列的下列操作: push(x) -- 将一个元素放入队列的尾部。 pop() -- 从队列首部移除元素。 peek() -- 返回...
迈莫coding
0