//執行結果佇列的單鏈表實現
//頭節點:哨兵作用,不存放資料,用來初始化佇列時使隊頭隊尾指向的地方
//首節點:頭節點後第乙個節點,存放資料
#include
#include
#include
typedef
int elementype; //
定義資料型別
//定義節點結構
typedef struct
node node, *pnode;
//定義佇列結構體
typedef struct
qnode queue, *pqueue;
//宣告函式體
void initqueue(pqueue); //
建立佇列函式
bool isemptyqueue(pqueue); //
判斷佇列是否為空函式
void insertqueue(pqueue, int val); //
入隊函式
void deletequeue(pqueue,int * val); //
出隊函式
void destroyqueue(pqueue); //
摧毀佇列函式
void tr**ersequeue(pqueue); //
遍歷佇列函式
void clearqueue(pqueue); //
清空佇列函式
int lengthqueue(pqueue); //
求佇列長度函式
//主函式
intmain()
//定義佇列初始化函式
void
initqueue(pqueue queue)
queue->front->next = null; //
初始佇列頭節點指標指向為空
printf("
建立佇列成功...\n");
}//定義判斷佇列是否為空函式
bool
isemptyqueue(pqueue queue)
else
}//定義入隊函式
//從佇列尾部插入資料val
void insertqueue(pqueue queue,int
val)
p->element = val; //
把要插入的資料放到節點資料域
p->next = null; //
新節點指標指向為空
queue->rear->next = p; //
使上乙個佇列尾部的節點指標指向新建的節點
queue->rear = p; //
更新隊尾指標,使其指向佇列最後的節點
printf("
插入資料 %d 成功...\n
", val);}//
定義出隊函式
//從佇列的首節點開始出隊
//若出隊成功,用val返回其值
void deletequeue(pqueue queue,int*val)
pnode p= queue->front->next; //
臨時指標
*val = p->element; //
儲存其值
queue->front->next = p->next; //
更新頭節點
if (queue->rear==p)
queue->rear = queue->front;
free(p); //
釋放頭佇列
p = null; //
防止產生野指標
printf("
出棧成功,出棧值為 %d\n
", *val);}//
定義佇列遍歷函式
void
tr**ersequeue(pqueue queue)
pnode p = queue->front->next; //
從佇列首節點開始遍歷(非頭節點,注意區分)
printf("
遍歷佇列結果為:");
while (p !=null)
printf("\n
");}//
定義佇列的摧毀函式
//刪除整個佇列,包括頭節點
void
destroyqueue(pqueue queue)
printf(
"摧毀佇列成功...\n");
}//定義清空佇列函式
void
clearqueue(pqueue queue)
printf(
"清空佇列成功...\n");
}
C語言鍊錶實現佇列
課本上只給了佇列的陣列實現,關於鍊錶實現的留做了作業,現實現如下 queueli.h typedef int elementtype start fig3 57.txt ifndef queueli h define queueli h struct node struct qnode typede...
C語言 順序表 鍊錶 佇列 棧 及基本操作
include include include typedef struct vectorvector vector init int n intexpand vector vec if extr size 0 return0 vec data p vec size extr size return...
佇列 鍊錶 C語言實現
佇列 queue 的基本概念 佇列的影象模擬 佇列的基本操作 初始化佇列,判空,入隊,出隊,讀隊頭元素,清空佇列 順序儲存存在的問題 如果用順序儲存結構,假設陣列最大值為maxsize,我們怎麼判斷隊空呢。我們可以利用用隊尾 rear 和隊頭 front 的相對位置來進行判斷,如果rear fron...