每日算法220719通过数组实现队列
Posted 如何在5年薪百万
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日算法220719通过数组实现队列相关的知识,希望对你有一定的参考价值。
今日题目
通过数组实现队列
今日心得
- 想放弃很容易,好久不更新了
- 感觉对题目有思路,套路有点熟悉了
算法编码
package stackandqueue;
/**
* @ClassName ImplQueueWithArray
* @Description 通过数组实现队列
* @Author kouryoushine
* @Date 2022/7/19 0:56
* @Version 1.0
*/
public class ImplQueueWithArray
public static class MyQueue
private int[] arr;
private int push; //end
private int poll; //begin
private int size; //实际长度
private final int limit; //数组容量
public MyQueue(int limit)
this.limit = limit;
poll = 0;
push = 0;
size = 0;
arr = new int[limit];
//添加数据
public void push(int value)
if (size == limit)
throw new RuntimeException("队列满了,不能添加了");
size++;
arr[push] = value;
push = nextIndex(push);
//取出数据
public int poll()
int value;
if (size == 0)
throw new RuntimeException("没有元素了,无法取出");
value = arr[poll];
size--;
poll = nextIndex(poll);
return value;
//返回循环数组下一个坐标
private int nextIndex(int push)
return push == limit ? 0 : push++;
以上是关于每日算法220719通过数组实现队列的主要内容,如果未能解决你的问题,请参考以下文章