#include
#include
//帶頭結點的鏈隊
//結點的結構體定義
typedef
struct linknode
linknode;
//鏈隊的結構體定義
typedef
struct
linkqueue;
//初始化(創)
void
initialize_queue
(linkqueue* q)
//判空
void
empty_queue
(linkqueue q)
else
}//不存在判滿操作!
//入隊(增)
void
en_queue
(linkqueue* q,
int x)
//出隊(刪)
void
de_queue
(linkqueue* q)
linknode* p;
p = q->front->next;
//p指標指向被刪除的點(隊頭)
printf
("the element deleted is:%d\n"
, p->data)
; q->front->next = p->next;
//頭結點後乙個結點為第二個結點(孤立第乙個結點)
if(q->rear == p)
//重要!!若原隊只剩乙個結點,刪除後變空
q->rear = q->front;
free
(p);
//釋放原隊頭的結點
return;}
//獲取隊頭元素(查)
void
top_queue
(linkqueue q)
linknode* p = q.front->next;
int x = p->data;
printf
("the top_queue is:%d\n"
, x)
;return;}
//列印隊
void
print_queue
(linkqueue q)
printf
("\n");
return;}
intmain()
佇列鏈式儲存
ifndef status h define status h define false 1 define true 1 define ok 1 define error 0 typedef int elemtype typedef int status endif ifndef stack h d...
佇列的鏈式儲存結構以及實現
佇列的鏈式儲存結構,其實就是線性表的單鏈表,只不過它只能尾進頭出而已,通常簡稱為鏈佇列。為了操作上的方便,將隊頭指標指向鏈佇列的頭結點,隊尾指標指向終端結點。當隊列為空時,front和rear都指向頭結點。鏈佇列的結構定義如下所示 typedef int qelemtype qnode代表佇列中元素...
佇列的鏈式儲存
include include include typedef int elemtype typedef struct qnodequeuenode,queuenodeptr typedef struct qlistlistqueue,listqueueptr listqueueptr initqu...