C語言 資料結構 佇列

2021-10-05 17:05:14 字數 885 閱讀 2072

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

2、佇列的聲名:和棧不同,我將鍊錶中的每個元素新增上頭指標與尾指標(還有乙個計數器,判空時可以直接拿來用)將其變成乙個佇列。這樣在入隊與出隊的操作就與鍊錶大同小異了。

typedef struct quee

myqueue;

typedef struct node

que;

3、初始化佇列:

void q_init(que **pqueue)

4、入隊:

void q_push(que *pqueue,int n)

else

pqueue->ptail = ptemp;

pqueue->ncount++;

}

5、出隊:

void q_push(que *pqueue,int n)

else

pqueue->ptail = ptemp;

pqueue->ncount++;

}

6、判空:

int isempty(que *pqueue)

測試:

C語言 資料結構 佇列

佇列也是一組元素的集合,也提供兩種基本操作 enqueue 入隊 將元素新增到隊尾,dequeue 出隊 從隊頭取出元素並返回。就像排隊買票一樣,先來先服務,先入隊的人也是先出隊的,這種方式稱為fifo first in first out,先進先出 有時候佇列本身也被稱為fifo。棧操作的top指...

資料結構(C語言) 佇列

二 佇列的儲存實現及運算實現 佇列也是一種運算受限的線性表。1 佇列的定義 假設有乙個佇列q a1 an 佇列中元素按 a1 an 的次序入隊後,入隊的第乙個元素a1為隊頭元素,最後乙個元素an為隊尾元素,佇列的操作是按先進先出的原則進行的,這種先進先出的規則應用在資料結構中稱為佇列,佇列又稱為先進...

C語言資料結構 鏈佇列

鏈佇列與鍊錶相似,不同的是它具有對列的運算方法,儲存結構和鍊錶相同,下面是其結構示意圖 這裡的 q類似於鍊錶的頭節點 head 它包含兩個指向佇列節點的指標front和rear 當front和rear都為 時隊列為空 front指向佇列第乙個節點,rear指向最後乙個節點,當兩者指向同乙個節點說明佇...