📄 linkqueue.h
字号:
#ifndef LINKQUEUE_H
#define LINKQUEUE_H
#include "head.h"
/** 单链队列----队列的链式存储结构*/
typedef struct QNode
{
int data;
struct QNode* next;
}QNode , *QueuePtr ;
typedef struct LinkQueue
{
QueuePtr front ; //队头指针
QueuePtr rear ; // 队尾指针
}LinkQueue;
/**---基本操作的函数原型说明-----*/
Status InitQueue(LinkQueue* Q);
// 构造一个空的队列Q ,操作成功返回OK,不成功则返回ERROR
Status DestroyQueue(LinkQueue* Q);
//销毁队列Q ,Q不再存在,操作成功返回OK,不成功则返回ERROR
Status ClearQueue(LinkQueue* Q) ;
// 将Q清为空队列,操作成功返回OK,不成功则返回ERROR
int QueueEmpty(LinkQueue* Q);
// 若队列Q为空队列,则返回ture,否则返回false
int QueueLength(LinkQueue* Q);
//返回Q的元素的个数,即为队列的长度
Status GetHead(LinkQueue* Q,int* e);
// 若队列不空,则用e返回队头元素,操作成功返回OK,不成功则返回ERROR
Status EnQueue(LinkQueue* Q,int e);
//插入元素e为Q的新的队尾元素。操作成功返回OK,不成功则返回ERROR
Status DeQueue(LinkQueue* Q,int* e);
// 若队列不空,则删除Q的队头元素,并用e返回队头元素的值,操作成功返回OK,不成功则返回ERROR
Status QueueTraverse(LinkQueue* Q);
//从队头到队尾依次对队列Q中的每一个元素进行遍历
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -