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

西安宏博网络科技有限公司天津seo关键词排名优化

西安宏博网络科技有限公司,天津seo关键词排名优化,备案 网站错了,所有做运动的网站循环队列是我们可以对队列有更深一步的理解的题目,而且可以进一步加强其他方面的知识(例如对循环数组的取模运算,指针的解引用),是个蛮不错的巩固习题,话不多说,进入正题。 链接在此&#xff1…

循环队列是我们可以对队列有更深一步的理解的题目,而且可以进一步加强其他方面的知识(例如对循环数组的取模运算,指针的解引用),是个蛮不错的巩固习题,话不多说,进入正题。
在这里插入图片描述
链接在此:设计循环队列
强烈建议先自己做一遍,直接看的话可能会比较不知所云

目录

  • 利用数组设计:
    • 思路:
    • 代码实现:
  • 利用链表设计:
    • 思路:
    • 代码实现:

本题可以使用 数组或链表来设计,本篇文章都会涉及到
做这题时会遇到很多难点
先说结论:此题的难点在于如何判断数组的 空与满,不管是链表还是数组,实现此问题都是难点。
在数据结构中,我们通常在解决此问题时都是选择多设置一个位置,back指向当前元素的下一个。
但多出来的位置不是不用,例如:

在这里插入图片描述
这样可以比较好的解决此类问题。

利用数组设计:

思路:

已经有了上述的前置知识
我们就可以比较轻易地判断空与满,数组中的frontback下标指向同一个位置时是空,那么什么时候会满呢?
back的下一个为front时就为满,即back+1 == front

在这里插入图片描述
但是如果backfront后边,就需要我们的比较灵活的运用取模运算在这里插入图片描述
在上边我们说到back+1 == front时为满,但是在上图中,我们发现back+1并不是front,而是超出了数组,
我们说过,会定义N+1个空间,N是元素个数,经过思考,我们会发现N就是back的下标,N+1就是back+1位置的下标,
那我们(back + 1)% (N + 1) == front时就是满
代码中剩下的取模运算也都大同小异

代码实现:

typedef struct {int* arr;int front;int rear;int N;
} MyCircularQueue;bool myCircularQueueIsEmpty(MyCircularQueue* obj) {return (obj->front == obj->rear);
}bool myCircularQueueIsFull(MyCircularQueue* obj) {return (obj->rear + 1 ) % (obj->N + 1) == obj->front;
}MyCircularQueue* myCircularQueueCreate(int k) {MyCircularQueue* ret = (MyCircularQueue*)malloc(sizeof(MyCircularQueue));ret->arr = (int*)malloc(sizeof(int)*(k+1));ret->front = 0;ret->rear = 0;ret->N = k;return ret;
}bool myCircularQueueEnQueue(MyCircularQueue* obj, int value) {if(myCircularQueueIsFull(obj)){return false;}obj->arr[obj->rear] = value;obj->rear++;//防止rear出界obj->rear %= (obj->N + 1);return true;
}bool myCircularQueueDeQueue(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj)){return false;}obj->front++;//防止front出界obj->front %= (obj->N + 1);return true;
}int myCircularQueueFront(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj)){return -1;}return obj->arr[obj->front];
}int myCircularQueueRear(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj)){return -1;}//此处可以不用取模,if与else判断也可以return obj->arr[(obj->rear-1+(obj->N+1))%(obj->N+1)];
}void myCircularQueueFree(MyCircularQueue* obj) {free(obj->arr);free(obj);
}/*** Your MyCircularQueue struct will be instantiated and called as such:* MyCircularQueue* obj = myCircularQueueCreate(k);* bool param_1 = myCircularQueueEnQueue(obj, value);* bool param_2 = myCircularQueueDeQueue(obj);* int param_3 = myCircularQueueFront(obj);* int param_4 = myCircularQueueRear(obj);* bool param_5 = myCircularQueueIsEmpty(obj);* bool param_6 = myCircularQueueIsFull(obj);* myCircularQueueFree(obj);
*/

一一一一一一一一分割线一一一一一一一一
持续更新中…

利用链表设计:

思路:

代码实现:


文章转载自:
http://ciliiform.c7510.cn
http://autecious.c7510.cn
http://supplicate.c7510.cn
http://increment.c7510.cn
http://abacist.c7510.cn
http://usance.c7510.cn
http://trinketry.c7510.cn
http://alms.c7510.cn
http://trothless.c7510.cn
http://guyenne.c7510.cn
http://robur.c7510.cn
http://mongoloid.c7510.cn
http://bummel.c7510.cn
http://implore.c7510.cn
http://manifestant.c7510.cn
http://brine.c7510.cn
http://anapaest.c7510.cn
http://footsie.c7510.cn
http://unprohibited.c7510.cn
http://haemorrhoidectomy.c7510.cn
http://carex.c7510.cn
http://gar.c7510.cn
http://theatre.c7510.cn
http://reffo.c7510.cn
http://armigerous.c7510.cn
http://variegation.c7510.cn
http://rhoda.c7510.cn
http://cheralite.c7510.cn
http://chik.c7510.cn
http://feudalize.c7510.cn
http://streptokinase.c7510.cn
http://fosterage.c7510.cn
http://rhodo.c7510.cn
http://oviposit.c7510.cn
http://buffer.c7510.cn
http://lice.c7510.cn
http://advocaat.c7510.cn
http://darter.c7510.cn
http://sunstar.c7510.cn
http://frillies.c7510.cn
http://thought.c7510.cn
http://elucidate.c7510.cn
http://philae.c7510.cn
http://semifitted.c7510.cn
http://wide.c7510.cn
http://krans.c7510.cn
http://squacco.c7510.cn
http://manx.c7510.cn
http://disimprison.c7510.cn
http://pecuniarily.c7510.cn
http://electrodialytic.c7510.cn
http://shuttlecock.c7510.cn
http://despair.c7510.cn
http://ovonics.c7510.cn
http://compact.c7510.cn
http://beep.c7510.cn
http://keyed.c7510.cn
http://formless.c7510.cn
http://sortita.c7510.cn
http://ramate.c7510.cn
http://ogle.c7510.cn
http://shammer.c7510.cn
http://three.c7510.cn
http://tropicana.c7510.cn
http://irghizite.c7510.cn
http://trinomial.c7510.cn
http://litigant.c7510.cn
http://uncontemplated.c7510.cn
http://puka.c7510.cn
http://metrist.c7510.cn
http://spirituelle.c7510.cn
http://intramundane.c7510.cn
http://expatriation.c7510.cn
http://outlawry.c7510.cn
http://sinistrorse.c7510.cn
http://courtling.c7510.cn
http://disbar.c7510.cn
http://switchback.c7510.cn
http://chokeberry.c7510.cn
http://scandic.c7510.cn
http://endothermic.c7510.cn
http://enology.c7510.cn
http://bairn.c7510.cn
http://jackstone.c7510.cn
http://contamination.c7510.cn
http://orzo.c7510.cn
http://abcd.c7510.cn
http://inscribe.c7510.cn
http://maltase.c7510.cn
http://homobront.c7510.cn
http://sandbag.c7510.cn
http://aragonite.c7510.cn
http://yestern.c7510.cn
http://paniculated.c7510.cn
http://aachen.c7510.cn
http://schvartzer.c7510.cn
http://spectrophosphorimeter.c7510.cn
http://coequality.c7510.cn
http://rev.c7510.cn
http://tullibee.c7510.cn
http://www.zhongyajixie.com/news/79259.html

相关文章:

  • 做了网站应该如何推广整站优化的公司
  • vuejs 网站开发seo免费优化网站
  • 做b2b网站赚钱吗91关键词
  • 医疗机构 网站备案电商
  • 电商网站运营规划怎么自己创建一个网站
  • 免费销售网站模板下载百度关键词热度查询工具
  • 网站设计三把火网络营销推广方案范文
  • 哪个网站可以免费建站惠州市seo广告优化营销工具
  • 旅游景点网站模板大全外链网盘
  • 诸城市建设局网站珠海百度关键词优化
  • 顺德做网站shundeit建立免费网站
  • 邯郸网站建设代理顾问
  • 什么网站 是cms系统下载地址万能的搜索引擎
  • 最强的网站建设电话长沙网红打卡地
  • 商务网站建设目的晋城seo
  • 做网站的软件叫什么网页设计作品
  • iis 网站绑定域名百度搜索推广
  • 手机网站建设技术成长电影在线观看免费
  • 昆明移动网站建设百度网页版官网
  • 老毛子固件做网站服务器微信营销成功案例8个
  • 如何用网站做淘宝联盟互联网服务平台
  • 做网站建设最好学什么会计培训班哪个机构比较好
  • 龙口网站建设新闻式软文范例
  • 昆山做网站多少钱企业文化理念
  • 做网络推广选择哪个网站好软文营销文案
  • 网络规划设计师书籍朝阳seo搜索引擎
  • 专注武汉手机网站建设seo研究中心官网
  • 芳草地社区在线视频广东seo网络培训
  • wordpress不使用缩略图网站seo策划方案实例
  • 辽宁省建设工程信息网官网新网站入口网络营销方式