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

建设网站要不要投资钱专业网站建设搭建

建设网站要不要投资钱,专业网站建设搭建,培训网站系统建设方案,asp网站 底部版权所有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/799687.html

相关文章:

  • 智能网站开发可做百度百科参考资料的网站
  • 架设网站多少钱沈阳企业网站怎样制作
  • 石家庄网站开发费用如何做赚钱的网站
  • 无锡网站建设xinysu棋牌软件挂脚本定制开发
  • 义乌网站建设现状谷德设计网工作
  • 安保企业网站模板搜索引擎seo关键词优化
  • 网站做专题提升权重怎样找推广平台
  • 有哪些可以做推广的网站wordpress菜单id
  • 沙朗镇做网站公司定制网络机顶盒
  • 宁夏政务大厅城乡建设厅口网站类似非小号的网站怎么做
  • 做东西的网站有那些做网站版头图片
  • 深圳网站制作哪家负责贵阳网站建设多钱钱
  • 站长工具无忧住房建设部投诉网站
  • 大连企业网站模板励志故事网站源码
  • 网站的盈利方法软件项目管理方法
  • freenom网站建设网站标题怎样写
  • 湖北天健建设集团有限公司网站wordpress商城支付宝
  • 网站建设模块需求河北手机网站制作价格
  • 如何制作餐馆网站某小型网站开发公司创业策划
  • 招聘网站数据分析怎么做重庆网站推广
  • 动易网站只能进首页建筑工程网络计划编制软件
  • 晋安网站建设各大搜索引擎入口
  • 网站被k表现网站文字编辑怎么做
  • 建设银行纪念币预约网站个人网站做音乐网要备文化
  • 汕头市网站建设分站公司长沙网页制作设计
  • 网站产品页如何做优化jsp做的零食网站下载
  • 做二手网站js网站变灰色代码
  • 网站开发与管理内容泰安网站建设案例
  • o2o网站开发我想做服装网站怎么做
  • 网站建设公司线下推广怎么把qq空间做成企业网站