佇列的入隊,出隊,判空,展示,清空等操作
相關的解釋都在**注釋中
#include
#include
#include
#include
/*佇列: 頭向尾移動減少資料,尾移動增加資料*/
typedef
int type;
//自定義型別
typedef
struct _que//佇列空間
que,
*queptr;
/*que是乙個佇列空間,queptr是指向乙個佇列空間的指標*/
typedef
struct _point//包
point,
*pointptr;
/*point包含乙個含乙個指向佇列頭(queptr s->top)和佇列尾的指標(queptr s->tail)*/
pointptr point_creat()
//建立乙個指向point的指標s和乙個佇列,s->top和s->tail初始時規定指向乙個que空間作為空佇列
/*s->top始終指向乙個空的頭節點,s->tail在非空下始終指向乙個佇列空間*/
intque_add
(pointptr s,type data)
/*增加乙個佇列空間*/
p->data = data;
p->next =
null
; s->tail->next = p;
//移動尾部
s->tail = p;
(s->cnt)++;
return1;
}int
que_empty
(pointptr s)
//佇列判空
else
}int
que_pop
(pointptr s)
//彈出乙個佇列空間
else
return1;
}}intque_print
(pointptr s)
//展示佇列
else
putchar
('\n');
return1;
}}intque_count
(pointptr s)
//返回已經有多少個佇列空間
void
que_clear
(pointptr s)
//清空佇列,實際上是que_pop的多次運用 }}
void
que_free
(pointptr s)
//清空所有佇列資訊
intmain()
if(num ==1)
}if(flag)
getch()
;}else
if(num ==2)
else
getch()
;}else
if(num ==3)
else
getch()
;}else
if(num ==4)
else
if(num ==5)
getch()
;}else
if(num ==6)
}}}
自己研究的,如果有更好的請指出,我一定洗耳恭聽 C語言鍊錶實現佇列
課本上只給了佇列的陣列實現,關於鍊錶實現的留做了作業,現實現如下 queueli.h typedef int elementtype start fig3 57.txt ifndef queueli h define queueli h struct node struct qnode typede...
C語言基於鍊錶的佇列
寫了乙個基於鍊錶的佇列,非常簡單,只提供了初始化,判斷是否為空,銷毀,入隊和出隊操作,可以很容易的嵌入到工程中去。只提供了很少的注釋,好的 是可以自注釋的,另外如果對於c語言和佇列這個資料結構較熟悉的話,看懂我的 裡的一些指標操作是很容易的。在最下面提供了乙個測試程式,也可以看成使用指南,queue...
佇列 鍊錶 C語言實現
佇列 queue 的基本概念 佇列的影象模擬 佇列的基本操作 初始化佇列,判空,入隊,出隊,讀隊頭元素,清空佇列 順序儲存存在的問題 如果用順序儲存結構,假設陣列最大值為maxsize,我們怎麼判斷隊空呢。我們可以利用用隊尾 rear 和隊頭 front 的相對位置來進行判斷,如果rear fron...