C語言 佇列的介面實現

2021-09-26 23:59:33 字數 1801 閱讀 3300

1.佇列的概念

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

2.佇列的實現

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

佇列實現**如下:

#ifndef    __queue_h__

#define __queue_h__

#include#include#include#include#include#includetypedef int 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);

int queueempty(queue* pq);

int queuesize(queue* pq);

void queueprint(queue* pq);

void testqueue();

#endif

介面的具體實現:

#include "queue.h"

//初始化佇列

void queueinit(queue* pq)

//銷毀佇列

void queuedestory(queue* pq)

pq->_head = pq->_tail = null;

}//建立結點

queuenode* buyqueuenode(qudatatype x)

//插入結點

void queuepush(queue* pq, qudatatype x)

else

*/

if(pq->_head == null)

else }

//刪除結點

void queuepop(queue* pq) }}

//結點數目

int queuesize(queue* pq)

return size;

}//判斷是否為空

int queueempty(queue* pq)

//求對頭資料

qudatatype queuefront(queue* pq)

//求對尾資料

qudatatype queueback(queue* pq)

//輸出佇列

void queueprint(queue* pq)

printf("\n");

}

以上就是佇列的實現所有**。

佇列的實現 C語言

標頭檔案 pragma once include include include typedef int qdatatype typedef struct queuenode queuenode typedef struct queue queue 初始化佇列 void queueinit queu...

佇列的實現 C語言

c語言,佇列的實現 include include define queue size 50 設定佇列的大小 typedef struct seqqueuequeue queue initqueue q front 0 q rear 0 q count 0 return q int isfull q...

C語言佇列實現

以下解釋片面,但便於初學者理解 1.佇列是先進先出的資料結構 2.佇列結構體只有頭和尾兩個指標,並不包含儲存的資料。它只負責記錄佇列的頭尾指向,方便理解佇列的實現。3.佇列成員結構體包含乙個用來儲存資料的變數,和乙個指向下個成員的指標,指標指向下乙個佇列成員。4.入隊要更改佇列結構體隊尾指標到下乙個...