java-----循环队列

Posted 小鹿可可乐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java-----循环队列相关的知识,希望对你有一定的参考价值。

队列

先进先出,只允许在一端进行插入,另一端进行删除
队列是一种操作受限的线性表

循环队列

将队列从逻辑上造成一个环状,利用取余实现

代码

class CircleQueue<T>{
	private T[] element;
	private int head;
	private int tail;

	public CircleQueue(){
		element = (T[])new Object[10];//强转
	}
	//入队操作
	public void push(T value){
		if(tail+1%element.length == head){//判满操作,浪费一个格子
		element = Arrays.copyOf(element,element.length*2);
		}
		element[tail++]=value;
		tail++;//先自增
		tail = tail%element.length;
	}
	//出队
	public void pop(){
		//判空
		if(head == tail)
		{
			return;
		}
		element[head] = null;
		head = ++head%element.length;
	}
	//获取队头元素
	public T peek(){
		return element[head];
	}
}

今天也要好好学习呀~

以上是关于java-----循环队列的主要内容,如果未能解决你的问题,请参考以下文章

用java实现循环队列?

java-----循环队列

java-----循环队列

九 循环队列的java实现

Java数据结构——队列

Java数据结构——队列