佇列的定義及基本運算

2021-04-27 15:08:47 字數 873 閱讀 4259

1、定義

佇列(queue)是只允許在一端進行插入,而在另一端進行刪除的運算受限的線性表

(1)允許刪除的一端稱為隊頭(front)

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

(3)當佇列中沒有元素時稱為空佇列

(4)佇列亦稱作先進先出(first in first out)的線性表,簡稱為fifo表

佇列的修改是依先進先出的原則進行的。新來的成員總是加入隊尾(即不允許"加塞"),每次離開的成員總是佇列頭上的(不允許中途離隊),即當前"最老的"成員離隊。

【例】在佇列中依次加入元素a1,a2,…,an之後,a1是隊頭元素,an是隊尾元素。退出佇列的次序只能是a1,a2,…,an。

2、佇列的基本邏輯運算

(1)initqueue(q)

置空隊。構造乙個空佇列q。

(2)queueempty(q)

判隊空。若佇列q為空,則返回真值,否則返回假值。

(3) queuefull(q)

判隊滿。若佇列q為滿,則返回真值,否則返回假值。

注意:此操作只適用於佇列的順序儲存結構。

(4) enqueue(q,x)

若佇列q非滿,則將元素x插入q的隊尾。此操作簡稱入隊

(5) dequeue(q)

若佇列q非空,則刪去q的隊頭元素,並返回該元素。此操作簡稱出隊

(6) queuefront(q)

若佇列q非空,則返回隊頭元素,但不改變佇列q的狀態。

佇列的定義及基本操作

1.佇列是一種先進先出的線性表,它的操作只能在表的兩端進行 2.分類 鏈佇列 鏈式表示 迴圈佇列 順序表示 結點結構 typedef struct qnodeqnode,qptr 鏈佇列結構 typedef struct linkqueue 建立空佇列 status initqueue linkqu...

佇列的基本運算實現

佇列 queue 佇列是一種先進先出 first in first out fifo 的線性表。它只允許在表的一端 隊尾 rear 插入元素,而在另一端 隊頭 front 刪除元素。插入操作稱為入隊或進隊,刪除操作稱為出隊或離隊。佇列示意圖如下 順序隊佇列的順序儲存結構需要使用乙個陣列和兩個整型變數...

棧的定義及其基本運算

基本定義 棧 stack 是n個元素a1,a2,an,組成的有限序列,記作s a1,a2,an 並且只能在一端插入和刪除元素,n 0時稱為空棧。棧的特徵 由於棧只能從一端插入和刪除元素,故棧具有後進先出 last in,first out,lifo 的特性。稱插入和刪除的一端為棧頂 top 另一端為...