c语言队列怎么用

C语言中的队列是一种先进先出(FIFO)的数据结构,可使用线性数组实现。它包含创建队列、判空、判满、入队、出队、获取队列首元素等操作,具体步骤如下:创建队列:申请内存空间,初始化队列容量、队头和队尾指针。判空:检查队头指针是否为-1,若为-1则队列为空。判满:检查队尾指针的后继(模队列容量)是否等于队头指针。入队:若队列不满,将元素插入队尾并更新队尾指针,若队头为空则队头指针也更新为队尾指针。出队:若

c语言队列怎么用

C 语言中的队列

队列是一种数据结构,遵循先进先出 (FIFO) 原则,其中最早添加的数据元素会首先被移除。C 语言中使用线性数组来实现队列。

创建队列

struct Queue {    int front, rear, capacity;    int *array;};struct Queue* createQueue(int capacity) {    struct Queue* queue = (struct Queue*) malloc(sizeof(struct Queue));    queue->capacity = capacity;    queue->front = queue->rear = -1;    queue->array = (int*) malloc(queue->capacity * sizeof(int));    return queue;}

判空队列

立即学习“C语言免费学习笔记(深入)”;

int isEmpty(struct Queue* queue) {    return (queue->front == -1);}

判满队列

int isFull(struct Queue* queue) {    return ((queue->rear + 1) % queue->capacity == queue->front);}

入队

void enQueue(struct Queue* queue, int item) {    if (isFull(queue)) {        printf("Queue is fulln");        return;    }    queue->rear = (queue->rear + 1) % queue->capacity;    queue->array[queue->rear] = item;    if (queue->front == -1) {        queue->front = queue->rear;    }}

出队

int deQueue(struct Queue* queue) {    if (isEmpty(queue)) {        printf("Queue is emptyn");        return -1;    }    int item = queue->array[queue->front];    queue->front = (queue->front + 1) % queue->capacity;    if (queue->front == queue->rear) {        queue->front = queue->rear = -1;    }    return item;}

获取队列首元素

int front(struct Queue* queue) {    if (isEmpty(queue)) {        printf("Queue is emptyn");        return -1;    }    return queue->array[queue->front];}

以上就是c语言队列怎么用的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1452982.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月18日 05:33:54
下一篇 2025年12月18日 05:33:59

相关推荐

发表回复

登录后才能评论
关注微信