队列(先进先出)
- 队列是一种特殊的线性表
- 队列仅在线性表的两端进行操作
顺序队列
#ifndef SEQ_QUEUE_H#define SEQ_QUEUE_Htypedef 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#include <stdio.h>#include <malloc.h>#include "SeqList.h"#include "SeqQueue.h"SeqQueue* SeqQueue_Create(int capacity){ return SeqList_Create(capacity);}void SeqQueue_Destroy(SeqQueue* queue){ SeqList_Destroy(queue);}void SeqQueue_Clear(SeqQueue* queue){ SeqList_clear(queue);}int SeqQueue_Append(SeqQueue* queue,void* item){ return SeqList_Insert(queue,item,SeqList_Length(queue));}void* SeqQueue_Retrieve(SeqQueue* queue){ return SeqLList_Delete(queue,0);}void* SeqQueue_Header(SeqQueue* queue){ return SeqList_Get(queue,0);}int SeqQueue_Length(SeqQueue* queue){ return SeqList_Length(queue);}int SeqQueue_Capacity(SeqQueue* queue){ return SeqList_Capacity(queue);}