溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是隊列

發(fā)布時間:2020-07-31 10:20:29 來源:億速云 閱讀:161 作者:Leah 欄目:互聯(lián)網(wǎng)科技

本篇文章給大家分享的是有關(guān)什么是隊列,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

隊列是一種特殊的線性表。它只允許在表的前端(front)進行刪除操作,而在表的后端(rear)進行插入操作,和棧一樣,隊列是一種操作受限制的線性表;進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭;隊列中沒有元素時,稱為空隊列。

隊列是一種特殊的線性表,特殊之處在于它只允許在表的前端(front)進行刪除操作,而在表的后端(rear)進行插入操作,和棧一樣,隊列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。隊列中沒有元素時,稱為空隊列。

隊列的數(shù)據(jù)元素又稱為隊列元素。在隊列中插入一個隊列元素稱為入隊,從隊列中刪除一個隊列元素稱為出隊。因為隊列只允許在一端插入,在另一端刪除,所以只有最早進入隊列的元素才能最先從隊列中刪除,故隊列又稱為先進先出(FIFO—first in first out)線性表。

隊列的鏈表實現(xiàn)

在隊列的形成過程中,可以利用線性鏈表的原理,來生成一個隊列。

基于鏈表的隊列,要動態(tài)創(chuàng)建和刪除節(jié)點,效率較低,但是可以動態(tài)增長。

隊列采用的FIFO(first in first out),新元素(等待進入隊列的元素)總是被插入到鏈表的尾部,而讀取的時候總是從鏈表的頭部開始讀取。每次讀取一個元素,釋放一個元素。所謂的動態(tài)創(chuàng)建,動態(tài)釋放。因而也不存在溢出等問題。由于鏈表由結(jié)構(gòu)體間接而成,遍歷也方便。

隊列的基本運算

(1)初始化隊列:Init_Queue(q) ,初始條件:隊q 不存在。操作結(jié)果:構(gòu)造了一個空隊;

(2)入隊操作: In_Queue(q,x),初始條件: 隊q 存在。操作結(jié)果: 對已存在的隊列q,插入一個元素x 到隊尾,隊發(fā)生變化;

(3)出隊操作: Out_Queue(q,x),初始條件: 隊q 存在且非空,操作結(jié)果: 刪除隊首元素,并返回其值,隊發(fā)生變化;

(4)讀隊頭元素:Front_Queue(q,x),初始條件: 隊q 存在且非空,操作結(jié)果: 讀隊頭元素,并返回其值,隊不變;

(5)判隊空操作:Empty_Queue(q),初始條件: 隊q 存在,操作結(jié)果: 若q 為空隊則返回為1,否則返回為0。

以上就是什么是隊列,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI