八 、隊列的java實現
阿新 • • 發佈:2018-02-22
println 原理 element alt 插入 分享圖片 struct 截圖 turn 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;
}
}
原理:
隊尾進,隊頭出。
運行截圖
從隊列一個個彈出數據也沒有錯,但是有一個錯誤就是彈出數據再次插入數據時會顯示數組越界,是因為沒有把font和end重置,下一篇循環隊列將解決這個問題。
源代碼:
public class Myqueue {
private int[] array; //底層數組
private int elements; //有效數據個數
private int font ; //隊頭
private int end ; //隊尾
public Myqueue() {
// TODO Auto-generated constructor stub
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實現