單鏈表實現佇列 順序表實現佇列

2021-10-17 14:57:56 字數 2776 閱讀 5657

一、sysutil.h//系統標頭檔案

#include

#include

#include

#include

#include

#include

#include

//記憶體洩漏工具的標頭檔案

二、單鏈表實現佇列函式

#include

"sysutil.h"

#define queueelemtype int

鏈佇列typedef

struct linkqueuenode

linkqueuenode;

typedef

struct linkqueue

linkqueue;

void

linkqueueinit

(linkqueue *pq)

;void

linkqueuedestroy

(linkqueue *pq)

;void

linkqueueen

(linkqueue *pq, queueelemtype x)

;void

linkqueuede

(linkqueue *pq)

;void

linkqueueshow

(linkqueue *pq)

;queueelemtype linkqueueback

(linkqueue *pq)

;queueelemtype linkqueuefront

(linkqueue *pq)

;void

linkqueueinit

(linkqueue *pq)

void

linkqueueen

(linkqueue *pq, queueelemtype x)

else

}void

linkqueuede

(linkqueue *pq)

free

(p);}}

queueelemtype linkqueueback

(linkqueue *pq)

queueelemtype linkqueuefront

(linkqueue *pq)

void

linkqueueshow

(linkqueue *pq)

printf

("nilr..\n");

}void

linkqueuedestroy

(linkqueue *pq)

pq->head = pq->tail =

null

;}

三、單鏈表實現佇列主函式

#include「queue.h」

void

main()

四、順序表實現佇列(迴圈佇列)函式

//順序佇列-->迴圈佇列

#define queue_default_size 8

typedef

struct seqqueue

seqqueue;

void

seqqueueinit

(seqqueue *pq,

int sz)

;void

seqqueuedestroy

(seqqueue *pq)

;void

seqqueueen

(seqqueue *pq, queueelemtype x)

;void

seqqueuede

(seqqueue *pq)

;queueelemtype seqqueueback

(seqqueue *pq)

;queueelemtype seqqueuefront

(seqqueue *pq)

;void

seqqueueshow

(seqqueue *pq)

;void

seqqueueinit

(seqqueue *pq,

int sz)

void

seqqueuedestroy

(seqqueue *pq)

void

seqqueueen

(seqqueue *pq, queueelemtype x)

pq->base[pq->rear]

= x;

pq->rear =

(pq->rear +1)

%(pq->capacity +1)

;}void

seqqueuede

(seqqueue *pq)

pq->front =

(pq->front +1)

%(pq->capacity +1)

;}queueelemtype seqqueueback

(seqqueue *pq)

queueelemtype seqqueuefront

(seqqueue *pq)

void

seqqueueshow

(seqqueue *pq)

printf

("nil.\n");

}

五、順序表實現佇列(迴圈佇列)主函式

#include

"queue.h"

void

main()

佇列 單鏈表實現

佇列,就是排隊,先到的站前面,先離開,後到的排後面,後離開。對應到計算機中,就是新增元素在隊尾,刪除元素是在隊頭,先進先出或後進後出。新增元素也叫入隊 enqueue 刪除元素也叫出隊 dequeue 當然還可以檢視隊頭元素,隊中元素個數,以及是否為空,所以佇列提供了api 就是enqueue,de...

順序表實現佇列

一.佇列相關概念 佇列是只允許在一段進行插入元素,在另一端進行刪除元素的線性表,即只允許對佇列進行尾插,頭刪的操作.佇列具有先進先出,後進後出的特性.1.初始化 2.列印佇列資訊 void testprintchar seqque q,char msg int i q head for i q ta...

佇列及順序表實現佇列

1.佇列是一種特殊的線性表,是只允許表的一端進行插入操作,而表的另一端進行刪除操作的線性表。進行插入操作的一端是表尾 rear 進行刪除操作的一端是表頭 front 當佇列中沒有資料元素時,稱為空佇列。2.佇列的特點 先進先出 1.什麼是順序佇列 用一片連續的儲存空間來儲存佇列中的資料元素,這樣的佇...