鏈佇列 C語言

2021-08-20 20:47:54 字數 1241 閱讀 5618

#include

#include

typedef int elemtype;

typedef int status;

//鏈佇列結點結構

typedef struct qnode

qnode;

//佇列鍊錶結構

typedef struct

linkqueue;

//鏈佇列初始化

void initqueue(linkqueue *q)

//判斷鏈佇列是否為空

int queueempty(linkqueue *q)

//建立鏈佇列

void createqueue(linkqueue *q, int n)

p->next = null;

q->rear = p;}}

//遍歷鏈佇列

void queuetra(linkqueue *q)

printf("\n");

}//入隊操作

status enqueue(linkqueue *q, elemtype e)

//出隊操作

status dequeue(linkqueue *q, elemtype *e)

//銷毀鏈佇列

void destroyqueue(linkqueue *q)

q->rear = q->front;

q->front->next = null;

}//清空鏈佇列

void clearqueue(linkqueue *q)

//取隊頭元素

status gethead(linkqueue *q, elemtype *e)

//返回元素的個數

int queuelength(linkqueue *q)

return i;

}int main()

else

printf("error\n");

if(gethead(&q, &e))

printf("gethead e:%d\n", e);

else

printf("error\n");

printf("queuelength:%d\n", queuelength(&q));

destroyqueue(&q);

printf("queuelength:%d\n", queuelength(&q));

return 0;

}

C語言鏈佇列

鏈佇列類似於單鏈表,為了限制只能從兩端運算元據,其結構體內有2個指標分別指向頭尾,但佇列裡的節點用另一種結構體來表示,頭尾指標則為指向該結構體的型別。只能通過操作頭尾指標來操作佇列。1 typedef int elemtype 23 typedef struct queuenodelinkqueue...

c語言 鏈佇列的實現

鏈佇列及其操作實現.cpp 定義控制台應用程式的入口點。include stdafx.h include include includeusing namespace std typedef struct qnode qnode,queueptr typedef struct linkqueue 函...

C語言資料結構 鏈佇列

鏈佇列與鍊錶相似,不同的是它具有對列的運算方法,儲存結構和鍊錶相同,下面是其結構示意圖 這裡的 q類似於鍊錶的頭節點 head 它包含兩個指向佇列節點的指標front和rear 當front和rear都為 時隊列為空 front指向佇列第乙個節點,rear指向最後乙個節點,當兩者指向同乙個節點說明佇...