队列顺序存储
作者:
小鸡炖土豆
,
2022-05-31 20:52:43
,
所有人可见
,
阅读 163
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<malloc.h>
#define Maxsize 50
typedef int Elemtype;
typedef struct
{
Elemtype data[Maxsize];
int front, rear;
}Sq;
void Initqueue(Sq*& q)
{
q = (Sq*)malloc(sizeof(Sq));
q->front = q->rear = -1;
}
bool enqueue(Sq*& q, Elemtype e)
{
if (q->rear == Maxsize - 1)
{
return false;
}
q->rear++;
q->data[q->rear] = e;
return true;
}
bool dequeue(Sq*& q, Elemtype& e)
{
if (q->front == q->rear)
{
return false;
}
q->front++;
e = q->data[q->front];
return true;
}
void Initqueue(Sq*& q)
{
q = (Sq*)malloc(sizeof(Sq));
q->front = q->rear = 0;
}
bool enqueue(Sq*& q, Elemtype e)
{
if ((q->rear + 1) % Maxsize == q->front)
{
return false;
}
q->rear = (q->rear + 1) % Maxsize;
q->data[q->rear] = e;
return true;
}
bool dequeue(Sq*& q, Elemtype& e)
{
if (q->front == q->rear)
{
return false;
}
q->front = (q ->front + 1) % Maxsize;
e = q->data[q->front];
return true;
}