鏈佇列的基本操作(C語言)

2021-09-26 19:57:34 字數 1044 閱讀 4297

佇列的特點就是先進先出,鏈佇列就是用鍊錶生成的佇列,它的特殊之處就是有頭尾標誌(front和rear),且front作為頭節點,rear是儲存資料的節點,佇列沒有尾節點。

#include

#include

typedef int elemtype;

typedef struct queuenode

qn;typedef struct queuelink

ql;//初始化

void

initqueue

(ql*queuelink)

queuelink-

>front-

>next =

null;}

//入隊

void

insertqueue

(ql*queuelink, elemtype x)

p->data = x;

queuelink-

>rear-

>next = p;

queuelink-

>rear = p;

}//出隊

void

deletequeue

(ql*queuelink, elemtype*x)

qn * p = queuelink-

>front-

>next;

*x = p-

>data;

queuelink-

>front-

>next = p-

>next;

if(p == queuelink-

>rear)

//當佇列裡只有乙個元素時需要特殊處理

free

(p);

}//銷毀

void

destroyqueue

(ql*queuelink)

}//求佇列長度

int queuelen

(ql*queuelink)

return i;

}int main()

C語言鏈佇列的基本操作

鏈佇列的初始化及入隊出隊操作,xp3 vc6.0 執行下通過。define overflow 2 define error 0 include typedef int qelemtype typedef struct qnode qnode,queueptr typedef struct linkq...

鏈佇列的基本操作 C語言

用鍊錶實現佇列的基本操作,定義兩個指標,分別指向鍊錶的頭結點和尾節點,即作為佇列的頭和尾,在隊尾進行插入操作,在對頭進行出隊操作 定義乙個鏈佇列 定義乙個佇列 typedef int elemtype 鍊錶的定義 typedef struct qnode qnode,queueptr 隊頭和隊尾指標...

鏈佇列的基本操作 C

include using namespace std 定義結點 typedef struct qnode qnode,queueptr 定義鏈隊 struct lqueue 初始化佇列 void init lqueue q 入佇列 void enqueue lqueue q 判斷佇列是否為空 bo...