1. 程式人生 > >八 、隊列的java實現

八 、隊列的java實現

println 原理 element alt 插入 分享圖片 struct 截圖 turn

原理:

技術分享圖片

隊尾進,隊頭出。

運行截圖

技術分享圖片

從隊列一個個彈出數據也沒有錯,但是有一個錯誤就是彈出數據再次插入數據時會顯示數組越界,是因為沒有把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;
}
}

八 、隊列的java實現