本文主要是介绍头歌循环队列及链队列的基本操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
第1关:循环队列的基本操作
任务描述
本关任务是实现循环队列的基本操作函数,以实现判断队列是否为满、是否为空、求队列元素个数、进队和出队等功能。
#include <stdio.h>#include<stdlib.h>#include <iostream>using namespace std;// 函数结果状态代码
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define OVERFLOW - 1typedef int Status;
typedef int QElemType;#define MAX_QSIZE 5 // 最大队列长度+1struct SqQueue {QElemType * base; // 初始化的动态分配存储空间int front; // 头指针,若队列不空,指向队列头元素int rear; // 尾指针,若队列不空,指向队列尾元素的下一个位置
};Status InitQueue(SqQueue & Q); // 构造一个空队列Q
Status DestroyQueue(SqQueue & Q); // 销毁队列Q,Q不再存在
Status ClearQueue(SqQueue & Q); // 将Q清为空队列
Status QueueEmpty(SqQueue Q); // 若队列Q为空队列,则返回TRUE;否则返回FALSE
int QueueLength(SqQueue Q); // 返回Q的元素个数,即队列的长度
Status GetHead(SqQueue Q, QElemType & e); // 若队列不空,则用e返回Q的队头元素,并返回OK;否
这篇关于头歌循环队列及链队列的基本操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!