字符串队列c语言,C语言实现循环队列(队列可存储字符串)

这篇博客分享了如何在C语言中实现一个循环队列,用于存储字符串。通过定义一个包含二维字符数组的结构体,实现了队列的初始化、清空、获取长度、入队和出队等操作。博主提供了具体的代码示例,包括测试用的主函数,展示了如何插入和删除字符串到队列中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目原因,需要写一个队列来存储串口实时输出的字符串。看了网上很多博文和一些数据结构的数据,给的例子都是实现对单个数字或者字符的队列操作,并没有实现在队列中存储字符串。这里分享一种可以实现的方法。

关于队列的一些基本的概念这里就不在介绍,下面直接上代码。

主要实现了:

将字符串存入队列之中,代码中的MAXSIZE 是最大的队列长度。实际中由于够成了循环队列,所以这个最大存储长度只有(MAXSIZE-1)。后面的二维数组 ais_data[MAXSIZE][250] 中250是队列中的一次存储字符串的最大的长度。

总体来说:在可以确定队列的长度的最大值的情况下,推荐使用循环队列。如果无法预知队列的长度,可以使用链表队列。

#include#include#include#include#include #define MAXSIZE 20

/*循环队列对的顺序存储结构*/

typedef struct

{

char ais_data[MAXSIZE][250]; //队列中的二维数组元素

int front; //头指针

int rear; //尾指针

}sqQueue;

/*初始化一个空队列*/

int InitQueue(sqQueue *Q)

{

Q->front=0; //结构体指针

Q->rear=0;

return 1;

}

/* 将队列清空 */

int ClearQueue(sqQueue *Q)

{

Q -> front = 0;

Q ->

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值