原理:
队尾进,队头出。
运行截图
从队列一个个弹出数据也没有错,但是有一个错误就是弹出数据再次插入数据时会显示数组越界,是因为没有把font和end重置,下一篇循环队列将解决这个问题。
源代码:
public class Myqueue {
private int[] array; //底层数组
private int elements; //有效数据个数
private int font ; //队头
private int end ; //队尾
public Myqueue() {
// TODO Auto-generated constructor stub
array = new int[5];
elements =0;
font = 0;
end =0;
}
public Myqueue(int Maxsize) //重载构造
{
array = new int[Maxsize];
elements =0;
font = 0;
end =0;
}
public void insert(int value) //插入数据
{
array[end++] =value;
elements++;
}
public int remove() //删除数据
{
elements--;
return array[font++];
}
public void peek() //查看队头数据
{
System.out.println(array[font]);
}
public boolean IsEmpty() //判断是否为空
{
return elements ==0;
}
public boolean IsFull() //判断是否为满
{
return elements == array.length;
}
}