写出循环列队存储结构的c语言描述
循环队列的C语言描述如下:
c
#include <stdio.h> 
#include <stdlib.h> 
 
#define MAXSIZE 100  // 定义队列的最大长度 
 
typedef struct { 
    int front;  // 队头指针 
    int rear;  // 队尾指针 
    int size;  // 队列中元素个数 
    int data[MAXSIZE];  // 队列中元素的数组 
} CircularQueue; 
 
c语言struct用法例子
// 初始化循环队列 
void initQueue(CircularQueue *q) { 
    q->front = q->rear = 0; 
    q->size = 0; 
 
// 判断队列是否为空 
int isEmpty(CircularQueue *q) { 
    return q->size == 0; 
 
// 判断队列是否已满 
int isFull(CircularQueue *q) { 
    return q->size == MAXSIZE; 
 
// 入队操作 
void enqueue(CircularQueue *q, int value) { 
    if (isFull(q)) { 
        printf("Queue is full.\n"); 
        return; 
    } 
    q->data[q->rear] = value; 
    q->rear = (q->rear + 1) % MAXSIZE; 
    q->size++; 
 
// 出队操作 
int dequeue(CircularQueue *q) { 
    if (isEmpty(q)) { 
        printf("Queue is empty.\n"); 
        return -1;  // 返回一个特殊值表示出队失败 
    } 
    int value = q->data[q->front]; 
    q->front = (q->front + 1) % MAXSIZE; 
    q->size--; 
    return value; 
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。