概述:實現乙個fifo(先進先出)的佇列
實現思路:
同樣可以用陣列和鍊錶來實現:用陣列實現佇列的弊端和用陣列實現棧的弊端是類似的,不再贅述;用鍊錶實現,通過在尾節點新增元素實現往佇列新增元素,通過從頭節點刪除乙個元素實現從佇列刪除元素,新增和刪除佇列中的元素的效率和佇列資料大小無關。
注意:用鍊錶實現佇列的時候,另一種方式是和上面剛好相反:在頭節點新增資料,而在尾節點刪除資料。由於我們使用的是單鏈表,這樣做的問題是每次刪除乙個元素都要遍歷整個鍊錶,導致刪除操作的效率低下。
實現:
public class myqueue
}/**
* 頭節點
*/private nodefirst;
/*** 尾節點
*/private nodelast;
/*** 佇列大小
*/private int size = 0;
/*** 判斷佇列是否為空
* * @return 佇列是否為空,為空返回true,否則false
*/public boolean isempty()
/*** 返回佇列大小
* * @return 佇列大小
*/public int size()
/*** 向佇列中加入乙個元素(加入到佇列尾部)
* * @param 需加入佇列的元素
*/public void enqueue(t node) else
size++;
}/**
* 從佇列中移除乙個元素(移除頭節點)
* * @return 當前佇列尾部元素
*/public t dequeue() else
}}
資料結構 佇列
一 佇列的迴圈陣列實現。1 初始化 空佇列。令rear front 0。2 入佇列 約定rear指向佇列尾元素的下乙個位置。入佇列時,先判斷佇列是否已滿,而後將array rear x 然後rear 3 出佇列 約定front指向佇列的首元素位置。出佇列時,先判斷佇列是否為空,而後返回隊首元素re ...
資料結構 佇列
資料參考自 資料結構c 語言描述 佇列是一種先進先出的資料結構,這與棧正好相反。下例是簡單的queue實現 queue.h檔案 ifndef queue h define queue h include include 資料元素結構 自定義 struct datatype 佇列元素最大數 const...
資料結構 佇列
code for fun created by dream whui 2015 1 25 include stdafx.h include include using namespace std define true 1 define false 0 define ok 1 define erro...