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

德州网站有哪些邢台招聘信息网

德州网站有哪些,邢台招聘信息网,常宁市建设局网站,wordpress添加html菜单数据结构 | 队列的实现 文章目录 数据结构 | 队列的实现队列的概念及结构队列的实现队列的实现头文件#xff0c;需要实现的接口 Queue.h初始化队列队尾入队列【重点】队头出队列【重点】获取队列头部元素获取队列队尾元素获取队列中有效元素个数检测队列是否为空销毁队列 Que…数据结构 | 队列的实现 文章目录 数据结构 | 队列的实现队列的概念及结构队列的实现队列的实现头文件需要实现的接口 Queue.h初始化队列队尾入队列【重点】队头出队列【重点】获取队列头部元素获取队列队尾元素获取队列中有效元素个数检测队列是否为空销毁队列 Queue.c 队列的概念及结构 队列只允许在一端进行插入数据操作在另一端进行删除数据操作的特殊线性表队列具有先进先出FIFO(First In First Out)入队列进行插入操作的一端称为队尾 出队列进行删除操作的一端称为队头 队列的实现 队列也可以数组和链表的结构实现使用链表的结构实现更优一些因为如果使用数组的结构 出队列在数组头上出数据效率会比较低。 队列的实现 头文件需要实现的接口 Queue.h #pragma once #includestdio.h #includeassert.h #includestdlib.h #includestdbool.htypedef int QDataType;typedef struct QListNode {QDataType val;struct QListNode* next; }QNode; // 队列的结构 typedef struct Queue {QNode* phead;QNode* ptail;QDataType size; }Queue; // 初始化队列 void QueueInit(Queue* pq); // 队尾入队列 void QueuePush(Queue* pq, QDataType x); // 队头出队列 void QueuePop(Queue* pq); // 获取队列头部元素 QDataType QueueFront(Queue* pq); // 获取队列队尾元素 QDataType QueueBack(Queue* pq); // 获取队列中有效元素个数 int QueueSize(Queue* pq); // 检测队列是否为空如果为空返回非零结果如果非空返回0 int QueueEmpty(Queue* pq); // 销毁队列 void QueueDestroy(Queue* pq);初始化队列 void QueueInit(Queue* pq) {assert(pq);pq-phead pq-ptail NULL;pq-size 0; }队尾入队列【重点】 void QueuePush(Queue* pq, QDataType x) {assert(pq);QNode* newnode (QNode*)malloc(sizeof(QNode));if (newnode NULL){perror(malloc fail!\n);return;}newnode-val x;newnode-next NULL;if (pq-ptail NULL){pq-phead pq-ptail newnode;}else{pq-ptail-next newnode;pq-ptail newnode;}pq-size; }队头出队列【重点】 void QueuePop(Queue* pq) {assert(pq);assert(pq-phead);QNode* del pq-phead;pq-phead pq-phead-next;free(del);del NULL;if (pq-phead NULL)pq-ptail NULL;pq-size--; }获取队列头部元素 QDataType QueueFront(Queue* pq) {assert(pq);assert(pq-phead);return pq-phead-val; }获取队列队尾元素 QDataType QueueBack(Queue* pq) {assert(pq);assert(pq-ptail);return pq-ptail-val; }获取队列中有效元素个数 int QueueSize(Queue* pq) {assert(pq);return pq-size; }检测队列是否为空 int QueueEmpty(Queue* pq) {assert(pq);return pq-phead 0; }销毁队列 void QueueDestroy(Queue* pq) {assert(pq);QNode* cur pq-phead;while (cur ! NULL){QNode* next cur-next;free(cur);cur next;}pq-phead pq-ptail NULL;pq-size 0; }Queue.c #includeQueue.h// 初始化队列 void QueueInit(Queue* pq) {assert(pq);pq-phead pq-ptail NULL;pq-size 0; } // 队尾入队列 void QueuePush(Queue* pq, QDataType x) {assert(pq);QNode* newnode (QNode*)malloc(sizeof(QNode));if (newnode NULL){perror(malloc fail!\n);return;}newnode-val x;newnode-next NULL;if (pq-ptail NULL){pq-phead pq-ptail newnode;}else{pq-ptail-next newnode;pq-ptail newnode;}pq-size; } // 队头出队列 void QueuePop(Queue* pq) {assert(pq);assert(pq-phead);QNode* del pq-phead;pq-phead pq-phead-next;free(del);del NULL;if (pq-phead NULL)pq-ptail NULL;pq-size--; } // 获取队列头部元素 QDataType QueueFront(Queue* pq) {assert(pq);assert(pq-phead);return pq-phead-val; } // 获取队列队尾元素 QDataType QueueBack(Queue* pq) {assert(pq);assert(pq-ptail);return pq-ptail-val; } // 获取队列中有效元素个数 int QueueSize(Queue* pq) {assert(pq);return pq-size; } // 检测队列是否为空如果为空返回非零结果如果非空返回0 int QueueEmpty(Queue* pq) {assert(pq);return pq-phead 0; } // 销毁队列 void QueueDestroy(Queue* pq) {assert(pq);QNode* cur pq-phead;while (cur ! NULL){QNode* next cur-next;free(cur);cur next;}pq-phead pq-ptail NULL;pq-size 0; } 好了队列的实现就到这里结束了有用的话点个赞吧~~
http://www.dnsts.com.cn/news/43687.html

相关文章:

  • 网站后端开发流程曲阜公司网站建设价格
  • 影视会员代理平台网站成品网站源码免费
  • 两学一做11月答题网站wordpress自带搜索
  • 做网站有了空间在备案吗设计网站开发费用计入什么科目
  • 检察院门户网站建设成效wordpress设置恢复
  • 织梦网站文章发布模板下载公司做免费网站建设
  • 永久网站建设教程网站备案的意义
  • 贵金属网站建设六安人事考试网
  • 建设众筹网站做现货值得关注的财经网站
  • wordpress文章显示失败石家庄seo
  • 一个好的网站怎样布局国内大型电子网站建设
  • 南宁如何做百度的网站推广外贸建站优化推广
  • 企业标准网站模板杭州知名网站建设
  • 纯静态做企业网站外链发布平台有哪些
  • 建筑网站资料 163com箱登录
  • 手机网站开发位置定位威海做网站的公司有哪些
  • 网站建设的色彩搭配手机怎么自己创造网站
  • 查询网站whois怎样在网站做环评公示
  • 足彩网站怎样做推广建设项目环境影响登记表备案系统网站
  • 长沙网站建设技术软件开发人员招聘
  • 山东省工程建设造价信息网站页面设计时最好只使用一种颜色避免视觉效果混响
  • 开80服务器怎么做网站电子商务网站建设与实践上机指导教程
  • 苏州建网站哪个好找券网站怎么做
  • 奢侈品的网站设计安卓 网站整站下载
  • 镇江网站搜索优化wordpress目录链接外链
  • 织梦仿asp网站网站热力图怎么做
  • 大田县建设局官方网站网站建设基本内容
  • 学校官网网页设计谷歌seo怎么做的
  • 办网站需要多少费用手机ftp传网站文件在哪里
  • 前端怎么做自己的博客网站seo网络优化是什么工作