佇列:只允許在一端進行插入資料操作,在另一端進行刪除資料操作的特殊線性表,佇列具有先進先出fifo (first in first out)
入佇列:進行插入操作的一端稱為隊尾
出佇列:進行刪除操作的一端稱為隊頭
實現:是用鍊錶的結構實現更優一些,因為如果使用陣列的結構,出佇列在陣列頭上出資料,效率比較低
鏈式佇列 尾插
定義兩個引用,乙個頭 乙個尾 為了入隊出隊都實現o(1)的時間複雜度
實現**:
class
node
}public
class
myqueue
else
this
.usedsize++
;return
true;}
//出隊且刪除隊頭元素
public
intpoll()
int data =
this
.front.data;
this
.front =
this
.front.next;
return data;
}public
intpeek()
return
this
.front.data;
}public
boolean
isempty()
public
intsize()
}
佇列Queue的實現
佇列 先進先出 兩種實現方式 1.利用陣列 2.鏈式儲存 需要兩個變數指向隊頭front和隊尾rear,當入隊時,隊尾後移 出隊時,隊頭後移 使用陣列實現,當我們入隊至陣列滿,然後出隊至陣列空,此時雖然陣列為空,但是卻不能再入隊了,因為隊尾rear已經指向了陣列的最後乙個索引位置。那麼如何充分利用陣...
佇列(queue)原理及實現
目錄 序言 佇列簡介 一 順序儲存結構及實現 二 迴圈佇列 三 鏈式儲存結構及實現 四 雙向佇列 佇列是一種特殊的線性表,它只允許在表的前端 front 進行刪除操作,只允許在表的後端 rear 進行插入操作。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。根據其特徵,把佇列簡稱為先進先出 fi...
queue的長度 佇列 Queue
佇列 queue 是先進先出 fifo,first in first out 的線性表。在具體應用中通常用鍊錶或者陣列來實現。佇列只允許在後端 稱為rear 進行插入操作,在前端 稱為front 進行刪除操作。隊結構 迴圈佇列可以更簡單防止偽溢位 假溢位 的發生,但佇列大小是固定的。防止假溢位,如d...