#include <bits/stdc++.h>
#include <stdio.h>
#include <stdlib.h>
#include <cmath>
#define MAXSIZE 10
using namespace std;
//循环队列的基本操作
typedef struct {
int front; //队头指针
int rear; //队尾指针
int data[MAXSIZE]; //定义顺序队列为一维数组
}SequenQueue; //循环队列的结构类型为SequenQueue
//初始化
SequenQueue* CreatQueue()
{
SequenQueue *q;
q = (SequenQueue *) malloc(sizeof(SequenQueue));
if(q == NULL)
return 0;
q -> front = 0;
q -> rear = 0;
return q;
}
//判断是否为空
bool SequenQueue_Empty(SequenQueue *q)
{
if( q -> front = q -> rear)
return true;
return false;
}
//判断队列是否满
bool SequenQueue_Full(SequenQueue *q)
{
if(q -> front == (q -> rear + 1)%MAXSIZE)
return true;
return false;
}
//求循环队列的长度
int SequenQueue_Length(SequenQueue *q)
{
return (q -> rear - q -> front + MAXSIZE)%MAXSIZE;
}
//入队
int Enter_SequenQueue(Seq
【数据结构】C/C++ 循环队列的 创建、初始化、入队、出队、遍历等基本操作
最新推荐文章于 2024-04-28 11:22:51 发布