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

中国建设银行官网站下载中心做网站的多钱

中国建设银行官网站下载中心,做网站的多钱,网站建设运营知识,哪些公司做外贸网站数据结构 | 队列的实现 文章目录 数据结构 | 队列的实现队列的概念及结构队列的实现队列的实现头文件#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.w-s-a.com/news/559573/

相关文章:

  • 服务器建立网站建网站做seo
  • 帮人做彩票网站支付接口网上请人做软件的网站
  • 万全网站建设wl17581做旅游广告在哪个网站做效果好
  • 钢城网站建设安徽省住房和城乡建设厅网站
  • 协会网站建设方案大良营销网站建设好么
  • 网站引导页一般是什么格式网页设计师的应聘岗位
  • 构建网站空间网站开发与维护招聘
  • 网站建设的网页怎么做番禺网站开发哪家强
  • 网站开发是程序员吗百度网盘下载电脑版官方下载
  • 中国电力建设集团网站杭州网站运营
  • 大气网站模板下载效果好的网站建设公
  • 住房和城乡建设部网站打不开重庆市建设工程信息网官网30系统
  • 做美食软件视频网站大数据精准营销策略
  • 网站后台密码错误陕西大型网站建设
  • 网站建站中关键字搜索怎么弄wordpress 后台插件无法访问
  • 做减肥餐的网站网站优化注意事项
  • 做网站做推广有效果吗专门做淘宝优惠券的网站
  • 菜谱网站开发系统ps做网页效果图
  • 徐州品牌网站建设wordpress多重筛选页面
  • 网站改版提示无需改版个人怎么申请微信小程序
  • 电子商务网站建设的简要任务执行书可以注册免费网站
  • 公司网站设计需要什么豪爵铃木摩托车官网
  • 建收费网站合肥地区网站制作
  • 自己做头像网站小网站建设公司
  • 电子商务建设与网站规划wordpress linux安装
  • wordpress新手建站win8网站模版
  • 网站的简单布局孝感 商务 网站建设
  • 湖北手机版建站系统价格优化网站内容
  • 网站后台登录不显示验证码软文发布网站
  • 企业微网站建设方案收费的网站如何免费