当前位置: 首页 > wzjs >正文

安康网站建设政府网络广告案例

安康网站建设政府,网络广告案例,专业的网站优化,在哪查询网站做的哪些外链C语言数据结构———循环消息队列,数组方式实现 参考内容消息队列数据类型结构体一、初始化消息队列二、消息队列是否为空三、消息队列是否已满四、消息入队五、消息出队六、其他函数七、函数汇总 参考内容 C语言数据结构———循环队列(静态数组实现方式)C语言数据…

C语言数据结构———循环消息队列,数组方式实现

  • 参考内容
  • 消息队列数据类型结构体
  • 一、初始化消息队列
  • 二、消息队列是否为空
  • 三、消息队列是否已满
  • 四、消息入队
  • 五、消息出队
  • 六、其他函数
  • 七、函数汇总

参考内容

  • C语言数据结构———循环队列(静态数组实现方式)
  • C语言数据结构———循环队列(动态数组实现方式)
  • C语言数据结构———链式队列(链表实现方式)
  • C语言数据结构———循环队列(数组实形式用宏定义方式实现)
  • C语言数据结构——循环队列,数组方式实现



消息队列数据类型结构体


typedef struct
{u16 Type; /* 消息类型 */u16 Data; /* 消息值 */
}xSuper_Message_TypeDef;typedef struct
{       u8 Front, Rear;                   //队首 队尾u8 Size;                          //大小xSuper_Message_TypeDef * pMsgDat; //数据指针
}xSuper_MesgQueue_TypeDef;



一、初始化消息队列

在这里插入图片描述


/* 初始化消息队列 */
void vMesgQueue_Init(xSuper_MesgQueue_TypeDef * pQueue, xSuper_Message_TypeDef * pMesg, u8 size)
{pQueue->Front   = pQueue->Rear = 0;pQueue->Size    = size;pQueue->pMsgDat = pMesg;
}



二、消息队列是否为空

在这里插入图片描述


/* 消息队列是否为空 */
u8 xMesgQueue_IsEmpty(xSuper_MesgQueue_TypeDef * pQueue)
{/* 队首与队尾相等队列为空 */if (pQueue->Front == pQueue->Rear) return 1;else                               return 0;
}



三、消息队列是否已满

在这里插入图片描述


/* 消息队列是否已满 */
u8 xMesgQueue_IsFull(xSuper_MesgQueue_TypeDef * pQueue)
{/* 队尾下一个元素为队首队列已满 */if (((pQueue->Rear + 1) % pQueue->Size) == pQueue->Front) return 1;else                                                      return 0;
}



四、消息入队

在这里插入图片描述


/* 消息入队 */
static void vSuper_MesgQueue_Enter(xSuper_MesgQueue_TypeDef * pQueue, u16 msgType, u16 msgData)
{pQueue->pMsgDat[pQueue->Rear].Type = msgType;pQueue->pMsgDat[pQueue->Rear].Data = msgData;pQueue->Rear = (pQueue->Rear + 1) % pQueue->Size;
}/* 消息入队 */
u8 xMesgQueue_Enter(xSuper_MesgQueue_TypeDef * pQueue, u16 msgType, u16 msgData)
{/* 队列已满 */if (xMesgQueue_IsFull(pQueue)) return 1;/* 消息入队 */vSuper_MesgQueue_Enter(pQueue, msgType, msgData);return 0;
}/* 获取队尾前索引 */
static u16 xSuper_MesgQueue_RearBeforIndex(xSuper_MesgQueue_TypeDef * pQueue)
{return ((pQueue->Rear - 1 + pQueue->Size) % pQueue->Size);
}/* 强制消息入队 */
void vMesgQueue_Enter_Force(xSuper_MesgQueue_TypeDef * pQueue, u16 msgType, u16 msgData)
{u8 i = 0;/* 队列已满 */if (xMesgQueue_IsFull(pQueue)) {i = xSuper_MesgQueue_RearBeforIndex(pQueue);pQueue->pMsgDat[i].Type = msgType;pQueue->pMsgDat[i].Data = msgData;}else                           {vSuper_MesgQueue_Enter(pQueue, msgType, msgData);}
}



五、消息出队

在这里插入图片描述


/* 消息出队 */
static xSuper_Message_TypeDef * xSuper_MesgQueue_Output(xSuper_MesgQueue_TypeDef * pQueue)
{xSuper_Message_TypeDef * pMsg = NULL;pMsg = &pQueue->pMsgDat[pQueue->Front];pQueue->Front = (pQueue->Front + 1) % pQueue->Size;return pMsg;
}/* 消息出队 */
xSuper_Message_TypeDef * xMesgQueue_Output(xSuper_MesgQueue_TypeDef * pQueue)
{/* 队列为空 */if (xMesgQueue_IsEmpty(pQueue)) return NULL;/* 消息出队 */return xSuper_MesgQueue_Output(pQueue);
}



六、其他函数


/* 获取消息队列元素个数 */
u16 xMesgQueue_GetCount(xSuper_MesgQueue_TypeDef * pQueue)
{return ((pQueue->Rear - pQueue->Front + pQueue->Size) % pQueue->Size);
}/* 清除消息队列 */
void vMesgQueue_Clear(xSuper_MesgQueue_TypeDef * pQueue)
{pQueue->Front = pQueue->Rear = 0;
}



七、函数汇总


void vMesgQueue_Init(xSuper_MesgQueue_TypeDef * pQueue, xSuper_Message_TypeDef * pMesg, u8 size);
void vMesgQueue_Enter_Force(xSuper_MesgQueue_TypeDef * pQueue, u16 msgType, u16 msgData);
void vMesgQueue_Clear(xSuper_MesgQueue_TypeDef * pQueue);u8 xMesgQueue_Enter(xSuper_MesgQueue_TypeDef * pQueue, u16 msgType, u16 msgData);
u8 xMesgQueue_IsEmpty(xSuper_MesgQueue_TypeDef * pQueue);
u8 xMesgQueue_IsFull(xSuper_MesgQueue_TypeDef * pQueue);xSuper_Message_TypeDef * xMesgQueue_Output(xSuper_MesgQueue_TypeDef * pQueue);
u16 xMesgQueue_GetCount(xSuper_MesgQueue_TypeDef * pQueue);



http://www.dtcms.com/wzjs/229351.html

相关文章:

  • 手机网站建立网络整合营销的特点有
  • 给你一个新的网站怎么做谷歌官方seo入门指南
  • 操作简单网站搭建费用百度站长工具seo综合查询
  • 英文b2b网站制作南宁seo产品优化服务
  • 梧州网站建设费用网页制作的软件
  • 怎样在手机做自己的网站海外推广方法有哪些
  • 域名注册费用seo推广专员招聘
  • 网页设计作业网站关键词优化排名用哪个软件比较好
  • 海报设计网站免费推广方案框架
  • 网站备案 类型中国 日本 韩国
  • 如何组建做网站的团队seo网站优化工具
  • 网站开发图国家免费技能培训平台
  • 郑州高端网站案例怎么样做一个自己的网站
  • 化妆品网站的设计与实现广州排前三的seo公司
  • 网站版建设网络营销策划书的主要内容
  • 济南b2c网站建设2022年最好用的搜索引擎
  • dedecms怎么部署网站百度一下百度一下
  • 东莞凤岗网站制作手游代理加盟哪个平台最强大
  • 三联网站建设价格省好多会员app
  • 国内做文玩的网站网站快速搜索
  • 本地唐山网站建设steam交易链接在哪复制
  • 廊坊网站建设外包seo服务加盟
  • 提供网站建设管理浏览器地址栏怎么打开
  • 广东的一起做网站北京培训seo哪个好
  • 网站的关键词库怎么做seo优缺点
  • 营销型网站价格重庆seo小z博客
  • 企业网站建设话术怎么提高seo关键词排名
  • dw网页设计素材包免费下载windows优化大师怎么使用
  • 如何在网上推广网站云搜索app下载
  • 网站建设对企业的重要性竞价推广账户托管