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

网站做影集安全吗完成网站群建设

网站做影集安全吗,完成网站群建设,宿迁建设局网站,网站备案文件本专栏内容为#xff1a;leetcode刷题专栏#xff0c;记录了leetcode热门题目以及重难点题目的详细记录 #x1f493;博主csdn个人主页#xff1a;小小unicorn ⏩专栏分类#xff1a;Leetcode #x1f69a;代码仓库#xff1a;小小unicorn的代码仓库#x1f69a; … 本专栏内容为leetcode刷题专栏记录了leetcode热门题目以及重难点题目的详细记录 博主csdn个人主页小小unicorn ⏩专栏分类Leetcode 代码仓库小小unicorn的代码仓库 关注我带你学习编程知识 循环队列 题目描述解题思路代码解决结果与总结 题目描述 题目来源Leetcode622.设计循环队列 设计你的循环队列实现。 循环队列是一种线性数据结构其操作表现基于 FIFO先进先出原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。 循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里一旦一个队列满了我们就不能插入下一个元素即使在队列前面仍有空间。但是使用循环队列我们能使用这些空间去存储新的值。 你的实现应该支持如下操作 1.MyCircularQueue(k): 构造器设置队列长度为 k 。 2.Front: 从队首获取元素。如果队列为空返回 -1 。 3.Rear: 获取队尾元素。如果队列为空返回 -1 。 4.enQueue(value): 向循环队列插入一个元素。如果成功插入则返回真。 5.deQueue(): 从循环队列中删除一个元素。如果成功删除则返回真。 6.isEmpty(): 检查循环队列是否为空。 7.isFull(): 检查循环队列是否已满。 解题思路 在环形队列中队列为空时队头队尾指向同一个位置。当队列不为空时队头指向插入的第一个数据队尾指向最后一个数据的下一个位置。当tail1等于front时说明环形队列已满。  注意环形队列的队尾不能像常规队列中队尾一样指向最后一个数据如果这样的话我们将不能区别环形队列的状态是空还是满因为此时队头和队尾都指向同一个位置。这就意味着我们必须留出一个空间这个空间不能存放数据这样我们才能很好的区别环形队列的状态是空还是满。 我们如果用一个数组来实现这个环形队列的话上面这三种状态就对应于以下三种状态 可以看出此时这个数组和环形完全扯不上关系这其实很简单我们只需注意判断两个地方  1.当指针指向整个数组的后方的时候让该指针重新指向数组的第一个元素。  2.当指针指向整个数组的前方的时候让该指针直接指向数组最后一个有效元素的后面。 这样就使得该数组在逻辑上是“环形”的了。 代码解决 typedef struct {int* a;//数组模拟环形队列int k;//队列可存储的有效数据总数int front;//队头int tail;//队尾的后一个位置 } MyCircularQueue;MyCircularQueue* myCircularQueueCreate(int k) {MyCircularQueue* obj (MyCircularQueue*)malloc(sizeof(MyCircularQueue));//申请一个环形队列obj-a (int*)malloc(sizeof(int)*(k1));//开辟队列空间//初始时队头和队尾均为0obj-front 0;obj-tail 0;obj-k k;//设置队列可存储的有效数据个数return obj; }bool myCircularQueueIsEmpty(MyCircularQueue* obj) {return obj-front obj-tail;//当front和tail指向同一位置时队列为空 }bool myCircularQueueIsFull(MyCircularQueue* obj) {int tailNext obj-tail1;if(tailNext obj-k1)//当指针指到队列末尾时指针返回队列开头使队列循环{tailNext 0;}return tailNext obj-front;//当tail1指向的位置与front相同时队列满 }bool myCircularQueueEnQueue(MyCircularQueue* obj, int value) {if(myCircularQueueIsFull(obj))//队列已满不能再插入数据{return false;}else//插入数据{obj-a[obj-tail] value;obj-tail;if(obj-tail obj-k1)//使队列循环obj-tail 0;return true;} }bool myCircularQueueDeQueue(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj))//当队列为空时无法再删除数据{return false;}else//删除数据{obj-front;if(obj-front obj-k1)//使队列循环obj-front 0;return true;} }int myCircularQueueFront(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj))//当队列为空时无数据可返回{return -1;}else{return obj-a[obj-front];//返回队头指向的数据} }int myCircularQueueRear(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj))//当队列为空时无数据返回{return -1;}else//返回tail-1指向位置的数据{int tailPrev obj-tail-1;if(tailPrev -1)//使队列循环tailPrev obj-k;return obj-a[tailPrev];} }void myCircularQueueFree(MyCircularQueue* obj) {free(obj-a);//先释放动态开辟的数组free(obj);//再释放动态开辟的结构体 } 结果与总结 通过所有示例问题得到解决。
http://www.w-s-a.com/news/169625/

相关文章:

  • 做网站前期工作wordpress图片并排
  • 免费注册网站哪个好wordpress评论修改
  • 合肥模板网站建设软件赤峰公司网站建设
  • 毕业设计都是做网站吗深圳网站制作企业邮箱
  • 网站排名 优帮云小规模公司简介怎么写
  • 那个做头像的网站好选择手机网站建设
  • 设计一个网站花多少时间做视频网站适合用什么服务器
  • asp网站开发环境订单系统单页面网站怎么做
  • 山东网站建设都有那些企业推广策略
  • 网站开发文档是什么概念衣服销售网站建设规划书范文
  • 中国建筑装饰网官网企业网站设计优化公司
  • 南海建设工程交易中心网站c2c交易平台有哪些?
  • 有没有专业做网站架构图的软件番禺建设网站哪个好
  • 建立网站第一步整站seo优化公司
  • php网站开发文章管理系统wordpress 评论 顶踩 心 插件
  • 网站做百度收录的意义html网页设计代码作业代码
  • 网站推广怎么做 知乎衡水做网站开发的
  • 重庆忠县网站建设报价网页构建
  • 怎么自己做单页网站怎么在阿里做网站
  • 公司网站重新备案做电商没几个能赚钱的
  • 网站开发我们都能解决怎样做网站吸引客户
  • 网站首页图片切换代码wordpress minfy
  • 什么程序做网站收录好企业搭建网站的必要性
  • 建设网站主题建站必须要域名吗
  • 网站建设海报设计购物平台网站建设框架
  • 湖北在线网站建设建一个网站迈年
  • 上班自己花钱做的网站网站首页的动态怎么做
  • 台州网站建设哪家便宜沧州最新消息今天
  • 建设网站 请示 报告wordpress会员制
  • 青岛建网站人做网站怎么赚钱广告