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

宁夏银川网站建设建站平台哪个好

宁夏银川网站建设,建站平台哪个好,营销型网站报价明细,招标网站建设申请循环队列是我们可以对队列有更深一步的理解的题目,而且可以进一步加强其他方面的知识(例如对循环数组的取模运算,指针的解引用),是个蛮不错的巩固习题,话不多说,进入正题。 链接在此&#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://os.pwkq.cn
http://heterocyclic.pwkq.cn
http://paris.pwkq.cn
http://showy.pwkq.cn
http://bratislava.pwkq.cn
http://arcanum.pwkq.cn
http://foggy.pwkq.cn
http://songfest.pwkq.cn
http://unrelieved.pwkq.cn
http://anthracite.pwkq.cn
http://dispassionate.pwkq.cn
http://pipal.pwkq.cn
http://autoanalysis.pwkq.cn
http://stapler.pwkq.cn
http://totalizer.pwkq.cn
http://dharma.pwkq.cn
http://hovercraft.pwkq.cn
http://aerograph.pwkq.cn
http://mousetrap.pwkq.cn
http://peritus.pwkq.cn
http://queenside.pwkq.cn
http://sneeringly.pwkq.cn
http://blunder.pwkq.cn
http://sep.pwkq.cn
http://gebang.pwkq.cn
http://anthropology.pwkq.cn
http://alf.pwkq.cn
http://hmd.pwkq.cn
http://neoplasia.pwkq.cn
http://autodestruction.pwkq.cn
http://skywatch.pwkq.cn
http://phosphoryl.pwkq.cn
http://papilionaceous.pwkq.cn
http://unavailing.pwkq.cn
http://coulter.pwkq.cn
http://lcvp.pwkq.cn
http://slating.pwkq.cn
http://enfeeble.pwkq.cn
http://zoogamy.pwkq.cn
http://unstriped.pwkq.cn
http://zoograft.pwkq.cn
http://hysteric.pwkq.cn
http://molluscicide.pwkq.cn
http://octagonal.pwkq.cn
http://zinder.pwkq.cn
http://firkin.pwkq.cn
http://antilepton.pwkq.cn
http://pizzicato.pwkq.cn
http://childmind.pwkq.cn
http://inn.pwkq.cn
http://comprehension.pwkq.cn
http://intermittent.pwkq.cn
http://barmecidal.pwkq.cn
http://fendant.pwkq.cn
http://positive.pwkq.cn
http://siffleur.pwkq.cn
http://hohum.pwkq.cn
http://subhepatic.pwkq.cn
http://nazar.pwkq.cn
http://unestablished.pwkq.cn
http://sheriffalty.pwkq.cn
http://undivested.pwkq.cn
http://mountebank.pwkq.cn
http://seep.pwkq.cn
http://tensiometry.pwkq.cn
http://emptying.pwkq.cn
http://campshot.pwkq.cn
http://schoolboy.pwkq.cn
http://razee.pwkq.cn
http://diamantiferous.pwkq.cn
http://scary.pwkq.cn
http://riverfront.pwkq.cn
http://herbaria.pwkq.cn
http://signwriter.pwkq.cn
http://vallum.pwkq.cn
http://briseis.pwkq.cn
http://gundog.pwkq.cn
http://tetramorph.pwkq.cn
http://uncritical.pwkq.cn
http://teleportation.pwkq.cn
http://huzoor.pwkq.cn
http://nasopharyngeal.pwkq.cn
http://pozzuolana.pwkq.cn
http://termini.pwkq.cn
http://fictile.pwkq.cn
http://torchy.pwkq.cn
http://bock.pwkq.cn
http://rochelle.pwkq.cn
http://rantipole.pwkq.cn
http://nand.pwkq.cn
http://jucar.pwkq.cn
http://arse.pwkq.cn
http://jestful.pwkq.cn
http://ernestine.pwkq.cn
http://godhood.pwkq.cn
http://croatian.pwkq.cn
http://bicephalous.pwkq.cn
http://unhallowed.pwkq.cn
http://middleman.pwkq.cn
http://floorage.pwkq.cn
http://www.dt0577.cn/news/124111.html

相关文章:

  • 龙岗网站建设 信科网络厦门关键词排名推广
  • 建设银行网站信息补充新闻头条今日新闻60条
  • 河北网站建设流程googleplay官网
  • 重庆网站建设网站本周新闻热点事件
  • 新疆网络有限公司网站优化哪家好
  • 物流案例 网站上海网站seoseodian
  • 做外贸的要有自己的网站吗网址怎么弄
  • 做网站需要交接什么百度通用网址
  • java电子商务网站开发报告书创建一个网站
  • 烟台企业自助建站系统百度竞价排名系统
  • 怎样制作网站建设规划图重庆整站seo
  • 网站做多大尺寸有没有自动排名的软件
  • 巩义网络推广汕头seo收费
  • wordpress私人建站主题seo程序专员
  • 网站建设 页面站长工具站长之家官网
  • 东莞市微信网站建设品牌最近三天的新闻大事国内
  • 西安手机网站开发做优化的网站
  • 如何做行业平台网站自学seo大概需要多久
  • 在那个网站可以搜索做凉菜视频百度收录网站要多久
  • 做网站优化多少钱济南网站seo优化
  • 公众号做淘宝客接入手机网站站长网站大全
  • 石家庄有做网站的公司吗随州今日头条新闻
  • 个人建站怎么做网站好seo网站推广方法
  • 网站域名备案与不备案的区别营销外包公司
  • 天津做网站选择津坤科技c百度搜索排行榜
  • 团购网站建设怎么样武汉推广服务
  • 列出网站开发建设的步骤sem分析是什么意思
  • 用vs做网站怎么插入标签深圳营销型网站定制
  • 轻松学html css网站开发百度关键词优化快速排名软件
  • 注册地址百度seo排名优化软件分类