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

网站自动化采集网站制作字体

网站自动化采集,网站制作字体,兰山网站建设,网站建设兼容移动端目录 一、前言 1.如何实现循环#xff1f; 2.如何判断队列为空#xff1f; 3.如何判断队列为满#xff1f; 二、循环队列的结构定义 三、循环队列的创建及其初始化 四、入队 五、出队 六、取队头元素 七、取队尾元素 八、循环队列判空 九、循环队列判满 十、循环…目录 一、前言 1.如何实现循环 2.如何判断队列为空 3.如何判断队列为满 二、循环队列的结构定义 三、循环队列的创建及其初始化 四、入队 五、出队 六、取队头元素 七、取队尾元素 八、循环队列判空 九、循环队列判满 十、循环队列销毁 一、前言 利用数组实现循环队列重点要解决的问题有三个 1.如何实现循环 由于数组大小k是确定的要实现队列循环就需要让数组下标循环利用两个下标front、back分别指向首元素和尾元素的下一个位置。front (front1) % kback (back1) % k即可完成下标的循环。 2.如何判断队列为空 初始化时front和back都为0此时为空。因此我们确定判空条件为 front back时循环队列为空。 3.如何判断队列为满 我们发现当队列满时由于back指向队尾元素的下一个因此队列满时front back 与队列空时相矛盾。如何解决呢 两种解决方法 一是循环队列结构中新增队列大小 size 当size0且front back时队列为空当size≠0且front back时队列为满。 二是新增一个空间不存储数据back (back1) % (k1)当 (back1) % (k1) front时队列为满。 二、循环队列的结构定义 循环队列的结构中包含数组、头指针、尾指针、队列容量、队列大小队列大小用于区分队列空与满的情况 //方法一 typedef int MCQDataType; //循环队列结构定义 typedef struct {MCQDataType *a;int front;//头指针指向队头元素int back;//尾指针指向队尾元素的下一个位置int size;//队列大小int k;//队列容量 } MyCircularQueue; 三、循环队列的创建及其初始化 为循环队列动态申请一个内存空间再将头指针、尾指针、队列大小都初始化为0队列容量为k //方法一 //循环队列创建及其初始化 MyCircularQueue* myCircularQueueCreate(int k) {MyCircularQueue* mcq(MyCircularQueue*)malloc(sizeof(MyCircularQueue));mcq-a(MCQDataType*)malloc(sizeof(MCQDataType)*(k));mcq-frontmcq-backmcq-size0;mcq-kk;return mcq; } 四、入队 先通过size判断队列是否满不满再将数据入队同时尾指针要  加1模k back (back1) % k  //方法一 //入队 bool myCircularQueueEnQueue(MyCircularQueue* obj, int value) {if(obj-sizeobj-k)//队列已满{return false;}obj-a[obj-back]value;obj-back(obj-back1)%obj-k;obj-size;return true; } 五、出队 先通过size判断队列是否空不空再将数据出队同时头指针要  加1模k front (front1) % k //方法一 //出队 bool myCircularQueueDeQueue(MyCircularQueue* obj) {if(obj-size0)//队列为空{return false;}obj-front(obj-front1)%obj-k;obj-size--;return true; } 六、取队头元素 先通过size判断队列是否为空不空直接返回队头元素即可 //方法一 //取队头元素 int myCircularQueueFront(MyCircularQueue* obj) {if(obj-size0)//队列为空{return -1;}return obj-a[obj-front]; } 七、取队尾元素 先通过size判断队尾是否为空。由于尾指针指向的是队尾元素的下一个位置所以需要返回back-1位置的元素。由此需要判断尾指针是否指向0位置如果指向0位置则不能back-1否则越界需要返回数组的最后一个位置元素即k-1的位置如果不指向0位置则返回back-1位置的元素即可。 //方法一 //取队尾元素 int myCircularQueueRear(MyCircularQueue* obj) {if(obj-size0){return -1;}if(obj-back0){return obj-a[obj-k-1];}else{return obj-a[obj-back-1];} } 八、循环队列判空 通过size判空即可 //方法一 //循环队列判空 bool myCircularQueueIsEmpty(MyCircularQueue* obj) {return obj-size0; } 九、循环队列判满 通过size判满即可 //方法一 //循环队列判满 bool myCircularQueueIsFull(MyCircularQueue* obj) {return obj-sizeobj-k; } 十、循环队列销毁 动态申请的内存空间也需要动态销毁 //方法一 //循环队列销毁 void myCircularQueueFree(MyCircularQueue* obj) {free(obj);objNULL; }
http://www.pierceye.com/news/107781/

相关文章:

  • 天津网站制作报价阿里云需要网站建设方案书
  • 做最好的美食分享网站网站建设客户需求分析
  • 如何重建网站广州市服务好的网站制作排名
  • 做一名优秀网站设计师计划网站描述怎样写
  • 网页二级网站怎么做网监关闭的网站怎么恢复
  • 甘肃省建设监理协会 官方网站国内知名公关公司
  • 如何将网站和域名绑定阿里云1M做网站
  • 南城网站建设公司咨询东莞智通人才网最新招聘
  • app建设网站公司哪家好php网站修改代码
  • 哪些网上订餐的网站做的好地情网站建设
  • 重庆推广网站的方法国内最近的新闻大事
  • 网站需要备案吗网站怎么推广软文
  • 做设计开哪个素材网站的会员好手机免费网站建设哪家公司好
  • 征婚网站认识的男人做定投保做高级电工题的网站
  • 学做饼干的网站汕头建设学校的网站
  • asp.net做网站原理工资卡app下载
  • 做齐鲁油官方网站集团网站建设报价
  • 网站的收录情况怎么查企业网银怎么登录
  • 网站开发会计处理wordpress阅读随机增加
  • 兰州做网站公司哪家好公司网站建设是什么意思
  • 小区物业管理网站开发报告deal 网站要怎么做
  • seo站长助手wordpress 注册侧边栏
  • 做网站是要编程吗那些网站是html5做的
  • 网站开发图在网站做电子画册
  • 怎样建一个英文网站wordpress 多用户商城
  • 制作一个自适应网站源码app在线生成器
  • Dw做html网站项目管理软件有哪些
  • 天津网站建设定制软件开发服务公司
  • 做企业网站cms减肥网站源码
  • 建设工程检测预约网站猎头公司怎么找