写一段c++queue存储数组的代码
时间: 2023-12-02 09:02:45 浏览: 72
queue源码C++
以下是使用C语言实现队列存储数组的代码:
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 10 //定义队列的最大长度
struct queue
{
int data[MAX_SIZE]; //数组存储元素
int front; //队头指针
int rear; //队尾指针
};
//初始化队列
void initQueue(struct queue *q)
{
q->front = 0;
q->rear = 0;
}
//判断队列是否为空
int isEmpty(struct queue q)
{
return q.front == q.rear;
}
//判断队列是否已满
int isFull(struct queue q)
{
return ((q.rear + 1) % MAX_SIZE) == q.front;
}
//入队操作
int enQueue(struct queue *q, int x)
{
if(isFull(*q))
{
printf("队列已满,插入失败!\n");
return 0;
}
q->data[q->rear] = x;
q->rear = (q->rear + 1) % MAX_SIZE;
return 1;
}
//出队操作
int deQueue(struct queue *q, int *x)
{
if(isEmpty(*q))
{
printf("队列为空,删除失败!\n");
return 0;
}
*x = q->data[q->front];
q->front = (q->front + 1) % MAX_SIZE;
return 1;
}
int main()
{
int x;
struct queue q;
initQueue(&q); //初始化队列
enQueue(&q, 1); //入队操作
enQueue(&q, 2);
enQueue(&q, 3);
deQueue(&q, &x); //出队操作
printf("%d\n", x);
return 0;
}
阅读全文