在c++語言中,什麼是佇列?
1樓:小浣熊快遞
這個問題麼。根據自己的理解說一下吧。
陣列跟佇列在剛接觸的時候確實很容易想到一起去。雖然我很想上來就解釋這個,但是事實上是不行的。因為,你首先要明白乙個概念。連結串列,順序表,佇列,棧,他們是什麼關係。
連結串列,順序表,是資料的一種資料的存放形式,頁就是說,連結串列上個節點會有指標讓你找到下個節點,他們不需要在記憶體中連續存放,順序表則需要連續存放,第乙個節點的位置決定了以後節點的位置。
而所謂佇列,跟棧,是乙個資料的邏輯概念,邏輯概念主要指的是資料能進行的操作。比如佇列先進先出,棧後進先出。
更直觀說,我們想要用的,是佇列或者棧,由於真正執行需要在機器上執行,需要放入記憶體,因此我們要用連結串列或者順序表實現佇列或者棧。因此有順序佇列,連結串列佇列,順序棧,連結串列棧。
最後說你的困惑,你之所以吧佇列跟陣列聯絡到一起,那麼你現在理解的佇列,是順序佇列。他們的關係是什麼呢,首先陣列是語言的東西,佇列是資料結構的東西。然後,如果你在c++裡面實現書序佇列,那麼,你可以理解成,陣列就是順序陣列(其實沒有連結串列陣列),它跟順序佇列,書序棧,順序二叉樹等等,是平行的概念。
2樓:網友
佇列就是乙個容器, 先進入的資料先出來,後進入的資料後出來。
凡是具備這個關鍵性質的資料結構都叫佇列, 你可以用陣列也可以用連結串列。
3樓:許詩文
佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。
佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。
佇列的資料元素又稱為佇列元素。在佇列中插入乙個佇列元素稱為入隊,從佇列中刪除乙個佇列元素成為出隊。因為佇列只允許在一段插入,在另一端刪除,所以只有最早進入佇列的元素才能最先從佇列中刪除,故佇列又稱為先進先出(fifo—first in first out)線性表。
4樓:群雄並立
佇列是資料的一種儲存方式。
c語言中,佇列是什麼意思,有什麼用途
5樓:匿名使用者
其主要特點是先進先出,恐怕最主要的是訊息佇列吧、、、期待下樓有長篇專門介紹的~~~
c++如何定義乙個佇列
6樓:網友
c++ queues(佇列)
c++佇列是一種容器介面卡,它給予程式設計師一種先進先出(fifo)的資料結構。
返回乙個引用,指向最後乙個元素。
如果佇列空則返回真。
返回第乙個元素。
刪除第乙個元素。
在末尾加入乙個元素。
返回佇列中元素的個數。
佇列可以用線性表(list)或雙向佇列(deque)來實現(注意vector container 不能用來實現queue,因為vector 沒有成員函式pop_front!):
queue> q1;
queue> q2;
其成員函式有「判空(empty)」 尺寸(size)」 首元(front)」 尾元(backt)」 加入佇列(push)」 彈出佇列(pop)」等操作。
例:int main()
關於c語言問題關於c語言的問題
void vtaskstartscheduler void privileged function 是函式定義,函式名 vtaskstartscheduler,void 表示該函式是無參函式,前面的 void 表示這個函式無返回值。privileged function 是巨集,預編譯期間,執行文字...
關於C語言簡單問題,關於C語言一個簡單問題
c語言有兩個標準,c89 89年出的,c99 99年出的c89規定,在任何執行語句之前,在塊的開頭宣告所有區域性變數。在c99以及c 中則沒有這個限制,即在首次使用之前,可在塊的任何位置都可以宣告變數。編譯結果和c語言的編譯器實現有關,你用的可能是較老的c編譯器,只支援c89規定。簡單的講就是老的編...
關於c語言的計算問題,關於c語言的計算問題
這涉及c的細節,我建議你記住 程式中的常量其實也存放在記憶體單元中,c規定運算運算子兩旁同類時運算結果與參與運算的數的型別相同,事實上時 加法器直接處理那兩個記憶體單元中的資料,並將結果送到另一記憶體單元,而這裡的 另一記憶體單元也是兩位元組長,因此他只接收到結果的低二位元組部分 及1的補碼 所以,...