标签:java 基础
/**
* 环形队列
*
*/
public class AnnularQueue
{
int[] intArray; // 容器
int size; // 长度
int head; // 头
int tail; // 尾
public AnnularQueue(int size)
{
intArray = new int[size];
size = 0;
head = 0;
tail = -1;
}
/**
* 判满
* @return
*/
public boolean isFull()
{
if(intArray.length == size)
return true;
return false;
}
public boolean isEmpty()
{
if(size == 0)
return true;
return false;
}
/**
* 入队
* @param i
* @return
*/
public boolean push(int i)
{
if(isFull())
return false;
intArray[++tail%intArray.length] = i;
size++;
return true;
}
/**
* 出队
* @param j
* @return
*/
public int remove()
{
if(isEmpty())
return -1;
size--;
return intArray[head++%intArray.length];
}
/**
* 遍历
*/
public void traverse()
{
for(int i = head; i < head + size; i++)
System.out.println(intArray[i%intArray.length]);
}
public static void main(String[] args)
{
AnnularQueue queue = new AnnularQueue(4);
queue.push(100);
queue.push(200);
queue.push(300);
queue.push(400);
queue.push(500);
queue.traverse();
System.out.println(queue.remove());
System.out.println(queue.remove());
System.out.println(queue.remove());
queue.push(700);
queue.traverse();
}
}
标签:java 基础
原文地址:http://881206524.blog.51cto.com/10315134/1788450