什麼是佇列,佇列的基本概念是什麼?

2022-11-09 15:06:26 字數 2948 閱讀 4993

1樓:森那你妹

佇列和棧一樣,也是一種操作受一定規則限制的資料結構。佇列簡單理解就是平常生活中的排隊。佇列在結構上分為隊頭和隊尾,只能在隊頭執行出隊操作,在隊尾執行入隊操作。

佇列的這種結構其實就類似於我們現實世界中的排隊,隊伍只能從前往後排,新來的排在隊尾,排在隊伍最前面的可以最先出隊,佇列實際上就是一種符合「先進先出」規則的順序集合。

和棧的結構不同的是,佇列的兩頭都開口,而且資料元素只能從隊尾入隊,從隊頭出隊。資料元素a首先入隊,接著是b和c入隊,根據「先進先出」的規則,首先出隊的是資料元素a,接著是b和c。佇列的這種結構在程式中可以控制一些事務性的操作,例如一件事務包括幾個步驟,而且這幾個步驟有嚴格的先後順序,即必須先完成前面的步驟才能進行後面的步驟。

當遇到這種情況時,我們就可以考慮使用佇列。佇列可以保證一個操作的原子性和順序性,所以在處理一些事務性的操作時常用到佇列結構。

傳智播客入學時的基礎課程講解過。

2樓:在珍珠湖摸牌的栗子

這樣的問題真的很好活動,佇列就是一對任務佇列。

佇列的基本概念是什麼?

3樓:北京理工大學出版社

1.佇列(queue)佇列是一種先進先出(firstinfirstout,fifo)的線性表。它只允許在表的一端進行插入,而在另一端進行刪除。

向佇列中插入元素稱為入隊,從佇列中刪除元素稱為出隊。

2)隊首(front)允許進行刪除的一端稱為隊首。

2)隊尾(rear)允許進行插入的一端稱為隊尾。

4)佇列的長度佇列中資料元素的個數表示佇列的長度。

5)空佇列當佇列中沒有元素時稱為空佇列。

6)先進先出表(fifo)佇列的修改是按先進先出的原則進行的,又稱為先進先出表(fifo)。

c語言中,佇列是什麼意思,有什麼用途

4樓:

佇列是一種特殊的線性表。

佇列一種可以實現「先進先出」的儲存結構,即「一端入,一端出」,隊首(front)出隊,隊尾(rear)入隊,若front指向隊首,則rear指向隊尾最後一個有效元素的下一個元素;若rear指向隊尾,則front指向隊首第一個有效元素的下一個元素。

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

擴充套件資料迴圈佇列各個引數的含義

1、佇列初始化front和rear的值都是零,初始化時佇列就是空的。

2、佇列非空front代表佇列的第一個元素rear代表了最後一個有效元素的下一個元素。

3、佇列空front和rear的值相等,但是不一定是零。

5樓:匿名使用者

其主要特點是先進先出,恐怕最主要的是訊息佇列吧、、、期待下樓有長篇專門介紹的~~~~

6樓:匿名使用者

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

在佇列這種資料結構中,最先插入在元素將是最先被刪除;反之最後插入的元素將最後被刪除,因此佇列又稱為「先進先出」(fifo—first in first out)的線性表。

佇列空的條件:front=rear

佇列滿的條件: rear = maxsize

佇列可以用陣列q[1…m]來儲存,陣列的上界m即是佇列所容許的最大容量。在佇列的運算中需設兩個指標:head,隊頭指標,指向實際隊頭元素的前一個位置;tail,隊尾指標,指向實際隊尾元素所在的位置。

一般情況下,兩個指標的初值設為0,這時佇列為空,沒有元素。圖1 ( a)畫出了一個由6個元素構成的佇列,陣列定義q[1…10]。q(i) i=3,4,5,6,7,8頭指標head=2,尾指標tail=8。

佇列中擁有的元素個數為:l=tail-head現要讓排頭的元素出隊,則需將頭指標加1。即head=head+1這時頭指標向上移動一個位置,指向q(3),表示q(3)已出隊。

見圖1 (b)。如果想讓一個新元素入隊,則需尾指標向上移動一個位置。即tail=tail+1這時q(9)入隊,見圖1 (c)。

當隊尾已經處理在最上面時,即tail=10,如果還要執行入隊操作,則要發生"上溢",但實際上佇列中還有三個空位置,所以這種溢位稱為"假溢位"。

克服假溢位的方法有兩種。一種是將佇列中的所有元素均向低地址區移動,顯然這種方法是很浪費時間的;另一種方法是將陣列儲存區看成是一個首尾相接的環形區域。當存放到n地址後,下一個地址就"翻轉"為1。

在結構上採用這種技巧來儲存的佇列稱為迴圈佇列。

佇列和棧一樣只允許在斷點處插入和刪除元素。

迴圈隊的入隊演算法如下:

1、tail=tail+1;

2、若tail=n+1,則tail=1;

3、若head=tail尾指標與頭指標重合了,表示元素已裝滿佇列,則作上溢位錯處理;

4、否則,q(tail)=x,結束(x為新入出元素)。

棧和佇列的概念分別是什麼?

7樓:匿名使用者

(1)棧作為一種資料結構,是一種只能在一端進行插入和刪除操作的特殊線性表。它按照後進先出的原則儲存資料,先進入的資料被壓入棧底,最後的資料在棧頂,需要讀資料的時候從棧頂開始彈出資料(最後一個資料被第一個讀出來)。棧具有記憶作用,對棧的插入與刪除操作中,不需要改變棧底指標。

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

在佇列這種資料結構中,最先插入的元素將是最先被刪除的元素;反之最後插入的元素將最後被刪除的元素,因此佇列又稱為「先進先出」(fifo—first in first out)的線性表。

最大容量為n的迴圈佇列,隊尾指標是read,隊頭是front

sizequeue real maxsize front maxsize 例 迴圈佇列為最大容量為5的線性表,隊首指標指向3,隊尾指標指向1,此時隊長為 1 5 3 5 3 read?是rear。隊長為 rear front n 第19題 最大容量為n的迴圈佇列,隊尾指標是rear,隊頭是front...

天文學什麼概念,天文學的基本概念是什麼?

天文學是研究天體 宇宙的結構和發展的科學,內容包括天體的構造 性質和執行規律等。人類生在天地之間,從很早的年代就在探索宇宙的奧祕,因此天文學是一門最古老的科學,它一開始就同人類的勞動和生存密切相關。它同數學 物理 化學 生物 地學同為六大基礎學科。天文學的研究對於我們的生活有很大的實際意義,如授時 ...

心理學是什麼個概念,心理學的基本概念是什麼

心理學是一門研究人類的心理現象 精神功能和行為的科學,既是一門理論學科,版也是一門應用學科。權包括基礎心理學與應用心理學兩大領域。心理學研究涉及知覺 認知 情緒 人格 行為 人際關係 社會關係等許多領域,也與日常生活的許多領域 家庭 教育 健康 社會等發生關聯。心理學一方面嘗試用大腦運作來解釋個體基...