佇列的封裝

2021-08-30 15:26:00 字數 1718 閱讀 8582

程式**如下:

queue.h

//封裝佇列

typedef

int qdatatype;

//typedef struct btnode* qdatatype;

typedef

struct qlistnode

qlistnode;

typedef

struct queue

queue;

void

queueinit

(queue* q)

;void

queuepush

(queue* q, qdatatype data)

;void

queuepop

(queue* q)

;qdatatype queuefront

(queue* q)

;qdatatype queueback

(queue* q)

;int

queuesize

(queue* q)

;int

queueempty

(queue* q)

;void

queueprint

(queue* q)

;

queue.c

#include

"queue.h"

#include

#include

qlistnode*

buylistnode

(qdatatype data)

pnewnode->_data = data;

pnewnode->_pnext =

null

;return pnewnode;

}//初始化(底層鍊錶:帶頭結點的單鏈表)

void

queueinit

(queue* q)

//入佇列

void

queuepush

(queue* q, qdatatype data)

//出佇列

void

queuepop

(queue* q)

}//獲取隊頭元素

qdatatype queuefront

(queue* q)

//獲取隊尾元素

qdatatype queueback

(queue* q)

//求佇列的大小

intqueuesize

(queue* q)

return size;

}//判斷佇列是否為空

intqueueempty

(queue* q)

void

queueprint

(queue* q)

printf

("null\n");

}

test.c

#include

"queue.h"

#include

#include

void

test()

intmain()

程式執行結果如下:

佇列的封裝

標頭檔案 include include define n 100 巨集定義佇列的大小 define datatype char 定義佇列資料型別 struct queue typedef struct queue q void init q myqueue 初始化佇列 int isempty q ...

優先順序佇列的封裝

優先順序佇列的封裝 優先順序佇列是佇列的一種,不過它不是逐次向佇列中新增元素,而是將元素的優先順序與佇列中元素的優先順序進行比較,然後插入乙個合適的位置。優先順序佇列封裝 與佇列封裝 類似,只不過多出乙個比較的過程。首先建立乙個名為priorityqueue的函式 接著封裝屬性,由於我們是基於陣列封...

封裝乙個棧,佇列

一 棧 特殊的線性表,只能在其一端進行資料插入和刪除操作,特性 先進後出 fifo 2 模擬實現乙個棧 include include include include include 引用前面自己實現的順序表的類的標頭檔案 using namespace std template class t 容...