佇列的鏈式實現

2021-10-07 18:15:05 字數 1154 閱讀 1600

一、帶頭結點

#include

#include

/*鏈棧定義:帶頭結點*/

typedef

struct linknodelinknode;

typedef

struct

linkqueue;

/*初始化*/

void

initqueue

(linkqueue &q)

/*入隊(帶頭結點)*/

void

enqueue

(linkqueue &q,

int x)

/*出隊(帶頭結點)*/

bool

dequeue

(linkqueue &q,

int&x)

/*獲取隊頭元素*/

bool

gethead

(linkqueue q,

int&x)

intmain()

二、不帶頭結點

#include

#include

/*鏈棧定義:不帶頭結點*/

typedef

struct linknodelinknode;

typedef

struct

linkqueue;

/*初始化*/

void

initqueue

(linkqueue &q)

/*入隊(不帶頭結點)*/

void

enqueue

(linkqueue &q,

int x)

else

}/*出隊(不帶頭結點)*/

bool

dequeue

(linkqueue &q,

int&x)

free

(p);

//釋放結點空間

return

true;}

/*獲取隊頭元素*/

bool

gethead

(linkqueue q,

int&x)

intmain()

鏈式佇列的實現

typedef struct nodelinklist typedef structlinkqueue void setnull linkqueue p set a empty queue,front and rear pointer both point to a head node void q...

鏈式佇列的實現

include include define n 10 定義結點 typedef struct node node 定義佇列 typedef struct queue queue 判斷佇列是否為空 int empty queue queue 初始化佇列 queue init 入隊 int inque...

佇列的鏈式實現

今天最後老師問當棧的鏈式實現完成後,再實現佇列,是否會簡單?我回答,是的。我的理由很簡單,因為操作相同,其他的也應該類似,所以不會太難。至於實現之後,我的感受是怎麼樣的,我留在最後再說,順便總結一下。下面是標頭檔案 ifndef linklistqueue h define linklistqueu...