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...
天文學什麼概念,天文學的基本概念是什麼?
天文學是研究天體 宇宙的結構和發展的科學,內容包括天體的構造 性質和執行規律等。人類生在天地之間,從很早的年代就在探索宇宙的奧祕,因此天文學是一門最古老的科學,它一開始就同人類的勞動和生存密切相關。它同數學 物理 化學 生物 地學同為六大基礎學科。天文學的研究對於我們的生活有很大的實際意義,如授時 ...
心理學是什麼個概念,心理學的基本概念是什麼
心理學是一門研究人類的心理現象 精神功能和行為的科學,既是一門理論學科,版也是一門應用學科。權包括基礎心理學與應用心理學兩大領域。心理學研究涉及知覺 認知 情緒 人格 行為 人際關係 社會關係等許多領域,也與日常生活的許多領域 家庭 教育 健康 社會等發生關聯。心理學一方面嘗試用大腦運作來解釋個體基...