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实现循环队列?

UVA - 10570 Meeting with Aliens (置换的循环节)