一、创建linkqueue.h头文件,定义队列并声明函数
#pragma once
#include<iostream>
using namespace std;
//定义
struct QNode
{
int data; //数据域
QNode* next; //指针域
};
typedef QNode* QueuePtr;//将QueuePtr定义为QNode*类型
struct LinkQueue
{
QueuePtr front; //队头指针
QueuePtr rear; //队尾指针
};
//初始化
bool InitQueue(LinkQueue& Q);
//插入
bool InsertQueue(LinkQueue& Q, int e);
//删除
bool DeQueue(LinkQueue& Q,int &e);
//遍历
void PrintQueue(LinkQueue Q);
//判断队列是否为空
bool QueueEmpty(LinkQueue Q);
//队列长度
int QueueLength(LinkQueue Q);
//清空
bool ClearQueue(LinkQueue& Q);
//销毁
bool DestoryQueue(LinkQueue& Q);
二、创建linkqueue.cpp源文件,将声明的函数做具体实现
#include"linkqueue.h"
//初始化
bool InitQueue(LinkQueue& Q)
{
Q.front = Q.rear = new QNode; //头指针尾指针指向头结点
if (!Q.front) //分配失败退出
{
exit(0);
}
Q.front->next = NULL; //头结点指针域置为空
return tru