基本概念
队列是一种特殊的线性表
在线性表的两端进行操作
队头(Front):取出数据元素的一端
队尾(Rear): 插入数据元素的一端
即:队列是只允许在一端进行插入操作 而在另一端进行删除操作的线性表
常用操作
销毁队列
清空队列
进队列
出队列
获取队头元素
获取队列长度
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);
顺序存储
基本概念
队列是一种特殊的线性表 可以用线性表顺序存储来模拟队列
设计实现
//线性表模拟
Queue* Queue_Create(int capacity)
{
return List_Create(capacity);
}
void Queue_Destroy(Queue* queue)
{
return List_Destory(queue);
}
void Queue_Clear(Queue* queue)
{
List_Clear(queue);
}
int Queue_Append(Queue* queue,void* item)
{
return List_Insert(queue,item,List_Length(queue));
}
void* Queue_Retrieve(Queue* queue)
{
return List_Delete(queue,0);
}
void* Queue_Header(Queue* queue)
{
return List_Get(queue,0);
}
int Queue_Length(Queue* queue)
{
return List_Length(queue);
}
int Queue_Capacity(Queue* queue)
{
return List_Capacity(queue);
}