摘抄部分代码如下
<pre name="code" class="java">public class homeWork33 <AnyType> {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
homeWork33()
{ this(101); } // note: actually holds one less than given size
homeWork33(int s)
{
maxSize = s;
front = 0;
rear = 0;
elements = new ArrayList<AnyType>(maxSize);
}
void enqueue(AnyType x)
{
if ( !full() )
{
if (elements.size() < maxSize) // add elements until size is reached
elements.add(x);
else
elements.set(rear, x); // after size is reached, use set
rear = (rear + 1) % maxSize;
}
}
AnyType dequeue()
{
AnyType temp=null;
if ( !empty() )
{
temp = elements.get(front);
front = (front+1) % maxSize;
}
return temp;
}
boolean empty()
{ return front == rear; }//判空条件
boolean full()
{ return (rear + 1) % maxSize == front; }//判满条件
private int front, rear;
private int maxSize;
private ArrayList<AnyType> elements;
}