資料結構 佇列 佇列的實現(C語言)

2021-09-25 13:14:48 字數 2559 閱讀 9217

1、什麼是佇列?

佇列:只允許在一端進行插入資料操作,在另一端進行刪除資料操作的特殊線性表,佇列具有先進先出fifo(first in first out) 入佇列和出佇列。

隊尾:進行插入操作的一端

隊頭:進行刪除操作的一端

詳細了解:

佇列的詳解

2、佇列的實現

佇列也可以陣列和鍊錶的結構實現,使用鍊錶的結構實現更優一些,因為如果使用陣列的結構,出佇列在陣列頭上出資料,效率會比較低。

陣列結構:

鍊錶結構:

3、**實現

queue.**件

#include

#include

#include

#include

typedef

char qudatatype;

typedef

struct queuenode

queuenode;

typedef

struct queue

queue;

void

queueinit

(queue* pq)

;//初始化

void

queuedestory

(queue* pq)

;//銷毀

queuenode*

buyqueuenode

(qudatatype x)

;//建立乙個節點

void

queuepush

(queue* pq,qudatatype x)

;//尾插

void

queuepop

(queue* pq)

;//頭刪

qudatatype queuefront

(queue* pq)

;//取出當前頭部元素

qudatatype queueback

(queue* pq)

;//取出當前尾部元素

intqueueempty

(queue* pq)

;//判斷佇列是否為空

intqueuesize

(queue* pq)

;//計算當前佇列元素

void

queuepirnt

(queue* pq)

;//依次取出佇列元素

queue.c檔案

void

queueinit

(queue* pq)

//初始化

void

queuedestory

(queue* pq)

//銷毀

pq->_front = pq->_tail =

null;}

queuenode*

buyqueuenode

(qudatatype x)

//建立乙個節點

void

queuepush

(queue* pq, qudatatype x)

//尾插

void

queuepop

(queue* pq)

//頭刪

pq->_front->_next = next->_next;

free

(next)

; next =

null;}

qudatatype queuefront

(queue* pq)

//取出當前頭部元素

qudatatype queueback

(queue* pq)

//取出當前尾部元素

intqueueempty

(queue* pq)

//判斷佇列是否為空

intqueuesize

(queue* pq)

//計算當前佇列元素

else

}return count;

}void

queuepirnt

(queue* pq)

//依次取出佇列元素

printf

("null\n");

}

main.c檔案

#define _crt_secure_no_warnings 1

#include

"queue.h"

intmain()

執行截圖

資料結構與演算法(C語言) 棧和佇列 佇列

與棧相反,佇列是一種先進先出 first in first out,fifo 的線性表。只允許在表尾一端進行插入操作而在表頭一端進行刪除操作。佇列既可以用鍊錶實現,也可以用順序表實現。跟棧相反的是,棧一般我們用順序表來實現,而佇列我們常用鍊錶來實現,簡稱為鏈佇列。佇列的鏈式表示和實現 typedef...

資料結構 佇列 佇列的鏈式儲存結構

資料結構 佇列 佇列的鏈式儲存結構 用單鏈表實現 date 2017 4 16 include include define elemtype char define initsize 100 typedef struct lnodelnode typedef structlinkqueue voi...

資料結構與演算法 佇列(佇列 迴圈佇列 鏈式佇列)

和昨天的棧有一些類似,小孱弱弱今天分享的資料結構 佇列,那是非常有意思 顧名思義呀,佇列佇列,就是排隊呀,應該還記得棧的資料操作模式吧,僅在棧尾進行插入和刪除操作,我們的佇列呢,僅在佇列頭部刪除,佇列尾部插入,這就很清楚了吧,佇列的應用很廣泛,一定要搞清楚裡面的思想哦。進入正題 先是迴圈佇列,為什麼...