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

做网站建设多少钱html5网站源码php

做网站建设多少钱,html5网站源码php,wordpress添加干扰代码,seo关键词排名优化是什么目录 1.队列的概念及结构 2.队列的实现 2.1队列结构定义 2.2队列的初始化及销毁 2.3数据入队 2.4数据出队 2.5访问队头数据 2.6访问队尾数据 2.6判断队列是否为空 2.7求队列的大小 2.7打印队列 1.队列的概念及结构 队列#xff1a;只允许在一端进行插入数据操作只允许在一端进行插入数据操作另一端进行删除数据操作的特殊线性表 队列中先进先出FIFOFirst In First Out 入队列进行插入操作的一端称为队尾 出队列进行删除操作的一端称为队头 2.队列的实现 队列结构可以使用数组和链表结构实现但一般采用的是链表因为对于数组结构队头出数据的效率较低 2.1队列结构定义  使用链表实现队列队列中的每个元素都是节点的形式所以需要定义节点的结构 对于队列其具有队尾入数据队头出数据的特性所以其结构定义需要两个指针分别指向队头和队尾 typedef int QDataType; typedef struct QueueNode {struct QueueNode* next;QDataType data; }QNode;typedef struct Queue {QNode* head;QNode* tail; }Queue; 2.2队列的初始化及销毁 初始化即队列为空队列队头指针和队尾指针都指向空 销毁队列即释放队列中所有节点的空间队头指针和队尾指针重新指向空 //队列初始化 void QueueInit(Queue* pq) {assert(pq);pq-head pq-tail NULL; } //队列销毁 void QueueDestroy(Queue* pq) {assert(pq);QNode* cur pq-head;while (cur){QNode* del cur;cur cur-next;free(del);}pq-head pq-tail NULL; }2.3数据入队 队列结构中数据入队从队尾入需要考虑空队列和非空队列两种情况 1️⃣空队列 2️⃣非空队列  空队列和非空队列不同的是空队列插入数据时需要更新队头指针 //数据入队 void QueuePush(Queue* pq, QDataType x) {assert(pq);QNode* newnode (QNode*)malloc(sizeof(QNode));if (newnode NULL){perror(malloc fail);exit(-1);}else{newnode-data x;newnode-next NULL;}//空队列时插入if (pq-tail NULL){pq-head pq-tail newnode;}//非空队列时插入else{pq-tail-next newnode;//链接新元素pq-tail newnode;//更新队尾} }2.4数据出队 队列结构中数据出队从队头出对于空队列出队操作非法 出队操作后需要更新队头指针并释放已出队节点的空间 特殊情况队列中只有一个节点 //数据出队 void QueuePop(Queue* pq) {assert(pq);//空队列不能进行出队操作assert(!QueueEmpty(pq));//队列中只有一个元素if (pq-head-next NULL){free(pq-head);pq-head pq-tail NULL;}else{QNode* del pq-head;pq-head pq-head-next;free(del);del NULL;} }2.5访问队头数据 队头数据的访问操作在队列为空时非法所以需要先断言非空链表才可以进行队头数据的访问操作通过队头指针访问即可 //访问队头数据 QDataType QueueFront(Queue* pq) {assert(pq);assert(!QueueEmpty(pq));return pq-head-data;}2.6访问队尾数据 队尾数据的访问操作在队列为空时非法所以需要先断言非空链表才可以进行队尾数据的访问操作通过队尾指针访问即可 //访问队尾数据 QDataType QueueBack(Queue* pq) {assert(pq);assert(!QueueEmpty(pq));return pq-tail-data; }2.6判断队列是否为空 队列为空则队头指针和队尾指针都指向空可以使用if-else语句进行返回 也可以参考以下代码直接返回pq-head NULL pq-tail NULL只有当pq-head和pq-tail同时为NULL是才返回真即队列为空 Note 判空函数的返回类型为bool但是C语言标准中没有bool类型所以需要我们自己定义 #define bool int //判断队列是否为空 bool QueueEmpty(Queue* pq) {assert(pq);/*if (pq-tail pq-head NULL){return true;}else{return false;}*/return pq-head NULL pq-tail NULL; }2.7求队列的大小 求队列的大小遍历统计节点个数并返回即可 //求队列的大小 int QueueSize(Queue* pq) {assert(pq);int size 0;QNode* cur pq-head;while (cur){size;cur cur-next;}return size; } 2.7打印队列  为了便于观察入队与出队操作可以编写一个打印函数便于调试 //打印队列 void QueuePrint(Queue* pq) {assert(pq);QNode* cur pq-head;while (cur){printf(%d , cur-data);cur cur-next;}printf(\n); }
http://www.yutouwan.com/news/324450/

相关文章:

  • 揭东建设局网站海淀深圳网站建设公司价格
  • 制作简单公司网站流程手机网站怎么做优化
  • 六安人论坛招聘求职北京seo顾问服务
  • 网站重新备案网站建站网站496565
  • 广州品牌网站设计建设微信开发者工具使用教程整套
  • 做网站页面用什么wordpress文章不登录看不到
  • 新手做网站免费域名摄影网站建设任务书
  • 上犹建设局网站贵州省建设网站
  • 深圳网站维护优化网站修改flashfxp上传多久生效
  • 网络规划设计师2024年考试seo是什么简称
  • 东莞市网站建设品牌建筑公司网站md0095设计风格
  • 网站开发技术和工具郑州网站推广单位
  • 电子商务网站建设与管理试题做平台的网站有哪些内容
  • 东莞网站建站公司如何做美食网站
  • 宁波网站推广建站新桥企业网站建设
  • 做电影网站主机放哪比较好制作网页用什么软件
  • 域名交易网站哪个好wordpress模板2018
  • 公司的网站如何建设网站开发需求用什么软件
  • 域名抢注网站做的网站需要什么技术支持
  • 公司的网站建设费用入什么科目怎么为网站做外链
  • 南昌网站排名优化报经典网站设计作品
  • 网站管理机制建设情况wordpress同步qq微博
  • 聊城网站优化案例资深网站如何做可以收取客户月费
  • vps搭建网站升阳广州做网站公司
  • 婚纱照网站制作帮人建网站价格
  • 网站建设需要购买服务器么产品网站用什么软件做
  • 青岛谷歌网站建设wordpress图片自适应
  • 响应式网站 移动端网站wordpress 媒体文件发布
  • 网站地图设计wordpress调用导航包含子菜单
  • 牌具做网站可以吗北京网站公司制作