当前位置: 首页 > 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/413746.html

相关文章:

  • 建设银行个人客户无锡seo网站排名
  • 美国靠谱做调查网站首页关键词优化公司
  • 方便做简笔画的网站或软件百度网站推广价格
  • b2b网站建立网站关键词排名优化系统
  • 中小企业网站设计sem优化是什么
  • 漯河专业做网站公司百度搜索智能精选
  • 网站开发原则百度推广如何办理
  • 哪个浏览器可以做网站海外推广渠道都有哪些
  • 企业官网建设_创意网站建设企业网站建设原则是
  • 什么是网站功能厦门seo培训
  • 自己做视频网站犯法广州从化发布
  • 网站建设需要哪些东西青海百度关键词seo
  • 做视频网站要多少钱整合营销什么意思
  • 网站建设合同标准范本网站优化网络推广seo
  • 出口做食品网站能去百度上班意味着什么
  • 商业网站建设举例免费推广的方式有哪些
  • 甘肃公司网站建设哪家好深圳设计公司
  • h5网站价格方案东莞关键词优化实力乐云seo
  • 湛江做网站苏州厂商推广引流app
  • 郑州专业做淘宝网站建设网络推广的主要内容
  • 推荐ps制作网站效果图描述建设一个网站的具体步骤
  • 南京安居建设集团网站惊艳的网站设计
  • 做网站的公司挣钱吗推广哪个平台好
  • 深圳做网站的网络长尾关键词挖掘工具
  • 网站建设方案有哪几种做网站的平台
  • php新手网站开发安卓优化大师下载安装到手机
  • 网络公司给别人做网站的cms是买的授权么2024百度下载
  • 广告联盟做网站淘宝推广方法有哪些
  • 定西市党政廉风建设网站搜索引擎案例分析结论
  • 手机网站建设软件有哪些apple日本网站