链队列-无头结点
1.头文件及类型定义
#include<stdio.h>
#include<stdlib.h>
#define ElemType int
2.链队列类型定义
typedef struct LinkNode {
//链式队列的结点类型定义
ElemType data; //每个结点存放一个数据元素
struct LinkNode* next; //指向下一个结点的指针
}LinkNode;
typedef struct {
//链式队列定义
LinkNode* front, * rear; //队列的队头指针和队尾指针
}LinkQueue;
3.函数声明
/*函数声明*/
void InitQueue(LinkQueue& Q); //1.初始化队列
bool LiQueueEmpty(LinkQueue Q); //2.判空
bool EnQueue(LinkQueue& Q, ElemType x); //3.入队操作
bool ExQueue(LinkQueue& Q, ElemType& x); //4.出队操作
bool GetHead(LinkQueue Q, ElemType& x); //5.获取队头元素
4.基本操作
4.1 初始化队列
//1.初始化队列(无头结点)
void InitQueue(LinkQueue& Q) {
Q.front = Q.rear = NULL; //初始化时fron