Queue设计与实现专题讲座
Queue基本概念
队列是一种特殊的线性表
队列仅在线性表的两端进行操作
队头(Front):取出数据元素的一端
队尾(Rear):插入数据元素的一端
队列不允许在中间部位进行操作!
常用操作
销毁队列
清空队列
进队列
出队列
获取队头元素
获取队列的长度
C语言描述=====》队列的设计与实现
人生财富库积累
#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_
队列的顺序存储设计与实现
1、基本概念
2、设计与实现
#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_
队列的链式存储设计与实现
1、基本概念
2、设计与实现
#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_