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

国外做3d模型的网站关于加强网站建设

国外做3d模型的网站,关于加强网站建设,网页设计基础括号代码大全,东营网站app建设队列的的概念 队列是一种特殊的线性表#xff0c;特殊之处在于它只允许在表的头部进行删除操作#xff0c;而在表的尾部进行插入操作#xff0c;和栈一样#xff0c;队列是一种操作受限制的线性表。进行插入操作的端称为队尾#xff0c;进行删除操作的端称为队头。队列中…队列的的概念 队列是一种特殊的线性表特殊之处在于它只允许在表的头部进行删除操作而在表的尾部进行插入操作和栈一样队列是一种操作受限制的线性表。进行插入操作的端称为队尾进行删除操作的端称为队头。队列中没有元素时称为空队列。 队列的特点 先进先出这是队列最大的特点队列中所有的元素都遵循先进先出的原则进行管理数据最先入队列的一定会最先出队列。受限访问队列操作数据时只能对队头或者队尾进行操作。入队插入数据只会在队尾进行出队删除数据只会在对头进行。高效进行删除和插入数据最坏情况下的时间复杂度是O(1)。 队列的接口实现 队列可以使用数组和链表来实现但是链表实现起来更清晰。 队列的结构 typedef int QUEDATATYPE;typedef struct QueueNode {QUEDATATYPE data;struct QueueNode* next; }QUENODE;但是这样有个问题我每次插入都要找尾节点这样就太慢了所以我们就用两个指针来解决这个问题一个指针指向队列的头节点一个用来指向队列的尾节点。 typedef int QUEDATATYPE;typedef struct QueueNode {QUEDATATYPE data;struct QueueNode* next; }QUENODE;typedef struct Queue {QUENODE* phead;QUENODE* ptail;int size; }Queue;队列的初始化 //初始化队列 void QueueInit(Queue* pq) {assert(pq);pq-phead pq-ptail NULL;pq-size 0; }入队 入队操作在尾部进行 这里有有两个情况队列为空与非空。 为空的话就直接将新节点赋给phead和ptail。非空将ptail的next指针指向新节点再更新ptail。 //入队 void QueuePush(Queue* pq, QUEDATATYPE x) {assert(pq);if (pq-phead NULL){QUENODE* Node (QUENODE*)malloc(sizeof(QUENODE));if (Node NULL){perror(malloc fail);exit(1);}Node-data x;Node-next NULL;pq-phead pq-ptail Node;}else{QUENODE* Node (QUENODE*)malloc(sizeof(QUENODE));if (Node NULL){perror(malloc fail);exit(1);}Node-data x;Node-next NULL;pq-ptail-next Node;pq-ptail Node;}pq-size; }出队 出队操作在队头进行 出队同样也有两种情况只剩下一个节点和多个节点。 只有一个节点也就是只有头节点了直接将头节点释放掉就好了。多个节点将头节点释放更新头节点 //出队 void QueuePop(Queue* pq) {assert(pq pq-size 0);if (pq-phead-next NULL){free(pq-phead);pq-phead pq-ptail NULL;}else{QUENODE* tmp pq-phead;pq-phead pq-phead-next;free(tmp);tmp NULL;}pq-size--; }获取队头元素 // 获取队头元素 QUEDATATYPE QueueHead(Queue* pq) {assert(pq);return pq-phead-data; }判空 //判空 bool QueueEmpty(Queue* pq) {assert(pq);return pq-size 0; }获取栈中有效元素个数 // 获取栈中有效元素个数 int QueueSize(Queue* pq) {assert(pq);return pq-size; }销毁队列 //销毁队列 void QueueDestroy(Queue* pq) {QUENODE* tmp pq-phead;while (tmp){pq-phead pq-phead-next;free(tmp);tmp pq-phead;}pq-phead pq-ptail NULL;pq-size 0; }完整代码 Queue.h #pragma once #includestdio.h #includestdlib.h #includestdbool.h #includeassert.htypedef int QUEDATATYPE;typedef struct QueueNode {QUEDATATYPE data;struct QueueNode* next; }QUENODE;typedef struct Queue {QUENODE* phead;QUENODE* ptail;int size; }Queue;//初始化队列 void QueueInit(Queue* pq); //入队 void QueuePush(Queue* pq, QUEDATATYPE x); //出队 void QueuePop(Queue* pq); // 获取队头元素 QUEDATATYPE QueueHead(Queue* pq); //判空 bool QueueEmpty(Queue* pq); // 获取栈中有效元素个数 int QueueSize(Queue* pq); //销毁队列 void QueueDestroy(Queue* pq);Queue.c #includeQueue.h//初始化队列 void QueueInit(Queue* pq) {assert(pq);pq-phead pq-ptail NULL;pq-size 0; }//入队 void QueuePush(Queue* pq, QUEDATATYPE x) {assert(pq);if (pq-phead NULL){QUENODE* Node (QUENODE*)malloc(sizeof(QUENODE));if (Node NULL){perror(malloc fail);exit(1);}Node-data x;Node-next NULL;pq-phead pq-ptail Node;}else{QUENODE* Node (QUENODE*)malloc(sizeof(QUENODE));if (Node NULL){perror(malloc fail);exit(1);}Node-data x;Node-next NULL;pq-ptail-next Node;pq-ptail Node;}pq-size; }//出队 void QueuePop(Queue* pq) {assert(pq pq-size 0);if (pq-phead-next NULL){free(pq-phead);pq-phead pq-ptail NULL;}else{QUENODE* tmp pq-phead;pq-phead pq-phead-next;free(tmp);tmp NULL;}pq-size--; }// 获取队头元素 QUEDATATYPE QueueHead(Queue* pq) {assert(pq);return pq-phead-data; }//判空 bool QueueEmpty(Queue* pq) {assert(pq);return pq-size 0; }// 获取栈中有效元素个数 int QueueSize(Queue* pq) {assert(pq);return pq-size; }//销毁队列 void QueueDestroy(Queue* pq) {QUENODE* tmp pq-phead;while (tmp){pq-phead pq-phead-next;free(tmp);tmp pq-phead;}pq-phead pq-ptail NULL;pq-size 0; }结语 最后感谢您能阅读完此片文章如果有任何建议或纠正欢迎在评论区留言也可以前往我的主页看更多好文哦(点击此处跳转到主页)。 如果您认为这篇文章对您有所收获点一个小小的赞就是我创作的巨大动力谢谢
http://www.hkea.cn/news/14335366/

相关文章:

  • 吉水县建设局网站统计wordpress
  • 医药公司网站备案建筑钢模板
  • 珠海网站友情链接怎样申请自己的网址
  • 如何建立一家公司网站广安网站建设哪家好
  • 网站建设个人主要事迹免费网站源码博客
  • 凡科手机网站建设网站没有流量怎么办
  • 网站开发中的paml分宜网站建设
  • 织梦网站变成手机站销售管理软件
  • 个人备案转企业网站期间wordpress自定义路由
  • 为什么做网站的会弄友情链接新开传奇网站手机版
  • 福田网站建设多少钱广州代运营公司有哪些
  • 枞阳做网站烟台市牟平区建设局网站
  • 小说网站怎么做流量wordpress微信个人支付
  • 天津外贸网站建设公司wordpress kallyas
  • 太原适合网站设计地址wordpress 默认主题
  • 邢台哪个公司做网站好做平面免费接单网站
  • 云集网站哪个公司做的能打开所有网站的浏览器
  • 网易云音乐网站开发介绍建设网站尺寸多少
  • 交通运输行业网站建设一个人可做几次网站备案
  • 如何让本机做网站让内网访问网页设计与制作教程 机械工业出版社
  • 专业做网站的公司有哪些有哪些网站可以免费看电影
  • php网站的特点过时的网站
  • jquery效果网站产品网络推广深圳
  • 国外空间网站源码自己开一个网站要多少钱
  • 网站可以建几个人石家庄网站推广软件
  • 灰蓝 网站模板开发区网站建设工作管理办法
  • 暴富建站 网址fr后缀网站
  • 重庆专业网站建设水头哪里有做网站的
  • 网站备案哪个部门西安网约车租车公司哪家好
  • 东莞手机网站建设入门菏泽seo