Queue設(shè)計(jì)與實(shí)現(xiàn)專題講座
Queue基本概念
隊(duì)列是一種特殊的線性表
隊(duì)列僅在線性表的兩端進(jìn)行操作
隊(duì)頭(Front):取出數(shù)據(jù)元素的一端
隊(duì)尾(Rear):插入數(shù)據(jù)元素的一端
隊(duì)列不允許在中間部位進(jìn)行操作!
常用操作
銷毀隊(duì)列
清空隊(duì)列
進(jìn)隊(duì)列
出隊(duì)列
獲取隊(duì)頭元素
獲取隊(duì)列的長(zhǎng)度
C語(yǔ)言描述=====》隊(duì)列的設(shè)計(jì)與實(shí)現(xiàn)
人生財(cái)富庫(kù)積累
#ifndef
_MY_QUEUE_H_
#define
_MY_QUEUE_H_
typedef
void
Queue;
Queue*
Queue_Create();
void
Queue_Destroy(Queue*
queue);
void
Queue_Clear(Queue*
queue);
int
Queue_Append(Queue*
queue,void*
item);
void*
Queue_Retrieve(Queue*
queue);
void*
Queue_Header(Queue*
queue);
int
Queue_Length(Queue*
queue);
#endif
//_MY_QUEUE_H_
隊(duì)列的順序存儲(chǔ)設(shè)計(jì)與實(shí)現(xiàn)
1、基本概念
2、設(shè)計(jì)與實(shí)現(xiàn)
#ifndef
_MY_SEQQUEUE_H_
#define
_MY_SEQQUEUE_H_
typedef
void
SeqQueue;
SeqQueue*
SeqQueue_Create(int
capacity);
void
SeqQueue_Destroy(SeqQueue*
queue);
void
SeqQueue_Clear(SeqQueue*
queue);
int
SeqQueue_Append(SeqQueue*
queue,void*
item);
void*
SeqQueue_Retrieve(SeqQueue*
queue);
void*
SeqQueue_Header(SeqQueue*
queue);
int
SeqQueue_Length(SeqQueue*
queue);
int
SeqQueue_Capacity(SeqQueue*
queue);
#endif
//_MY_SEQQUEUE_H_
隊(duì)列的鏈?zhǔn)酱鎯?chǔ)設(shè)計(jì)與實(shí)現(xiàn)
1、基本概念
2、設(shè)計(jì)與實(shí)現(xiàn)
#ifndef
_MY_LINKQUEUE_H_
#define
_MY_LINKQUEUE_H_
typedef
void
LinkQueue;
LinkQueue*
LinkQueue_Create();
void
LinkQueue_Destroy(LinkQueue*
queue);
void
LinkQueue_Clear(LinkQueue*
queue);
int
LinkQueue_Append(LinkQueue*
queue,void*
item);
void*
LinkQueue_Retrieve(LinkQueue*
queue);
void*
LinkQueue_Header(LinkQueue*
queue);
int
LinkQueue_Length(LinkQueue*
queue);
#endif
//_MY_LINKQUEUE_H_