資料結構與演算法 佇列

2021-10-19 10:50:14 字數 1031 閱讀 6058

你可以把它想象成排隊買票,先來的先買,後來的人只能站末尾,不允許插隊。 先進者先出,這就是典型的「佇列」。

佇列可以用陣列來實現,用陣列實現的佇列叫作順序佇列。

// 用陣列實現的佇列

public class arrayqueue

// 入隊操作,將item放入隊尾

public boolean enqueue(string item)

// 搬移完之後重新更新head和tail tail -= head;

head = 0;

}items[tail] = item;

++tail;

return true; }

// 出隊

public string dequeue()

}

用鍊錶實現的佇列叫作鏈式佇列。

public class linkqueue 

}public linkqueue(int capacity)

// 入佇列

public boolean enqueue(object data) else

this.tail = newnode;

++nodesize;

return true;

}// 出佇列

public object dequeue()

}

迴圈佇列,顧名思義,它長得像乙個環。原本陣列是有頭有尾的,是一條直線。現在我們把首尾相連,扳成 了乙個環。

public class circularqueue 

// 入隊

public boolean enqueue(string item)

// 出隊

public string dequeue()

}

[1] : 極客時間-資料結構與演算法之美-佇列

資料結構與演算法 佇列

學習了好長 一段時間的資料結構,由於時間關係一直沒有寫部落格。這次打算將這段時間的學習內容寫下來做個整理。佇列作為線性結構的一種,其實用性不用多說。這裡總結下兩種結構的佇列實現。迴圈佇列 先列下以順序表結構形成的普通順序佇列存在的問題 隊頭不斷刪除元素,將使佇列的頭部空出單元 隨著刪除 插入的進行,...

資料結構與演算法 佇列

佇列 佇列與棧不同,它是一種先進先出的結構 實現 1 陣列 2 鍊錶 記錄的資料 1 隊首位置 第乙個元素的位置 2 隊尾位置 最後乙個元素的位置 3 佇列大小 size 佇列操作 entryqueue 入隊 exitqueue 出隊 isqueueempty 隊列為空 isqueuefull 佇列...

演算法與資料結構 佇列

adt queue d d 資料關係 r r a i d,i 2,3,n r 約定a 1a 1 a1 端為隊首,a na n an 端為隊尾。基本操作 create 建立乙個空佇列 emptyque 若隊列為空,則返回true,否則返回false insertque x 向隊尾插入元素x delet...