佇列的特點就是先進先出,鏈佇列就是用鍊錶生成的佇列,它的特殊之處就是有頭尾標誌(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...