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

天河建设网站企业汽车网站建设

天河建设网站企业,汽车网站建设,做网站选服务器带宽,wordpress smzdm主题设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里&a…

设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。

循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。

你的实现应该支持如下操作:

1、MyCircularQueue(k): 构造器,设置队列长度为 k 。

2、Front: 从队首获取元素。如果队列为空,返回 -1 。

3、Rear: 获取队尾元素。如果队列为空,返回 -1 。

4、enQueue(value): 向循环队列插入一个元素。如果成功插入则返回真。

5、deQueue(): 从循环队列中删除一个元素。如果成功删除则返回真。

6、isEmpty(): 检查循环队列是否为空。

7、isFull(): 检查循环队列是否已满。

示例:

MyCircularQueue circularQueue = new MyCircularQueue(3); // 设置长度为 3

circularQueue.enQueue(1); // 返回 true

circularQueue.enQueue(2); // 返回 true

circularQueue.enQueue(3); // 返回 true

circularQueue.enQueue(4); // 返回 false,队列已满

circularQueue.Rear(); // 返回 3

circularQueue.isFull(); // 返回 true

circularQueue.deQueue(); // 返回 true

circularQueue.enQueue(4); // 返回 true

circularQueue.Rear(); // 返回 4

提示:

1、所有的值都在 0 至 1000 的范围内;

2、操作数将在 1 至 1000 的范围内;

3、请不要使用内置的队列库。

思路:

数组下标循环的小技巧

1. 下标最后再往后(offset 小于 array.length): index = (index + offset) % array.length

2. 下标最前再往前(offset 小于 array.length): index = (index + array.length - offset) % array.length

如何区分空与满

1. 通过添加 size 属性记录

2. 保留一个位置

3. 使用标记

代码:

class MyCircularQueue {public int front;//队头下标public int rear;public int[] elem;//构造方法,k 队列的长度public MyCircularQueue(int k) {this.elem=new int[k+1];}//入队public boolean enQueue(int value) {if (isFull()){return false;}this.elem[rear]=value;this.rear=(this.rear+1)%this.elem.length;//不能加加,防止越界return true;}//出队public boolean deQueue() {if (isEmpty()){return false;}this.front=(this.front+1)%this.elem.length;return true;}//获取队头元素public int Front() {if (isEmpty()){return -1;}return this.elem[this.front];}//获取队尾元素public int Rear() {if (isEmpty()){return -1;}int index=-1;if (this.rear==0){index=this.elem.length-1;}else {index=this.rear-1;}return this.elem[index];}public boolean isEmpty() {return this.front==this.rear;}public boolean isFull() {if ((this.rear+1)%this.elem.length==this.front){return true;}return false;}
}
http://www.sczhlp.com/news/14806/

相关文章:

  • 好的网站建设公司排名如何找外包的销售团队
  • 广州免费设计网站建设素材网
  • 搜狗整站优化网址收录查询
  • 揭阳企业免费建站网络营销的基本功能
  • 政府网站asp今日头条搜索优化
  • 海南网站建设哪家不错潍坊关键词优化排名
  • 网站公安备案什么意思茶叶网络营销策划方案
  • 深圳网站建设公司排行个人怎么做推广
  • wordpress阿里秀模板常德seo招聘
  • 河南无限动力做网站怎么样百度置顶广告多少钱
  • 扬州网站定制怎么买到精准客户的电话
  • 企业所得税如何征收长沙网站优化推广方案
  • 东莞公司建站模板品牌广告语
  • 公司做网站需要什么手续吗收录优美图片崩了
  • 收费报名网站怎么做营销策划的十个步骤
  • 怎么识别网站开发语言软文推广
  • 交易网站域名网站seo排名优化工具在线
  • wordpress登录密码忘记seo如何建立优化网站
  • 网站建设的费用明细网站关键词优化有用吗
  • 网站怎么做跳转品牌整合营销案例
  • it企业网站模板下载百度搜索网页
  • 成华网站制作深圳网站seo优化
  • 高手做网站深圳百度网站排名优化
  • 做设计找素材的 网站有哪些千锋教育北京校区
  • 前端做网站直播网站排名怎么做上去
  • 网站建设海外推广 香港国产长尾关键词拘挖掘
  • 学校网站建设成功案例小程序制作流程
  • Stylet启动机制详解:从Bootstrap到View显示
  • File ,Path ,Filestream ,StreamReader 与 StreamWriter 类基本操作
  • typora手动分页