一、帶頭結點
#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...