目录
前言
本篇博客介绍栈和队列的表示和实现。
1.顺序队列的描述
图1.顺序队列的描述
2.队列的顺序表示和实现
1.定义
#define MAXQueueSIZE 6 // 最大队列长度
typedef int Status;
typedef int ElemType;
typedef struct {
ElemType *base; // 存储空间基地址
int front; // 头指针
int rear; // 尾指针
} SqQueue;
2.初始化
队列初始化的时候,队头和队尾指针均为0
// 队列初始化
Status initSqQueue(SqQueue *sqQueue) {
sqQueue->base = (ElemType *)malloc(sizeof(ElemType) * MAXQueueSIZE);
if (!sqQueue->base) { // 内存分配失败
return 0;
}
sqQueue->front = sqQueue->rear = 0;
return 1;
}
3.销毁
释放顺序队列存储空间
// 销毁队列
void destroySqQueue(SqQueue *sqQueue) {
free(sqQueue->base);
}
4.清空
//