1. 程式人生 > >Java資料結構-佇列結構

Java資料結構-佇列結構

佇列結構的特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。

對列結構的分類

  • 普通對列結構
  • 雙端對列結構
  • 優先順序佇列結構

用Java實現普通佇列結構

public class Quene {
    private int size;//佇列長度
    private int front;//隊頭索引
    private int rear;//隊尾索引
    private int[] theQuene;//用陣列構造佇列結構
    private int
items;//當前佇列的元素數 public Quene(int size){ this.size = size; theQuene = new int[size]; front = 0; rear = -1; items = 0; } //入隊 public void insert(int value){ if(rear == size - 1){ //已經滿隊,另隊尾為-1,從隊頭插入 rear = -1; }
theQuene[++rear] = value; items++; } //出隊 public int remove(){ int temp = theQuene[front++]; if(front == size){ front = 0; } items--; return temp; } //檢視隊頭 public int peek(){ return theQuene[front]; }
//是否為空隊 public boolean isEmpty(){ return (items == 0); } //是否為滿隊 public boolean isFull(){ return (items == size); } //對列當前元素數 public int sizeOf(){ return items; } }