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

天河建设网站企业长沙关键词排名软件

天河建设网站企业,长沙关键词排名软件,做卡盟网站教程,湛江网站建设方案外包设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 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.shuangfujiaoyu.com/news/46342.html

相关文章:

  • 织梦后台发布了网站没显示线上推广策划方案范文
  • 宇泽佛山网站建设百度直播平台
  • 开封网站网站建设谷歌搜索引擎
  • 网站顶级栏目403微信裂变营销软件
  • 北京城市副中心投资建设公司网站站长工具seo排名
  • 导航网站 cms谷歌paypal下载
  • 给期货交易类做网站违法吗吉林百度seo公司
  • 制作企业网站步骤郑州seo服务技术
  • 广州专业的网站建设公司哪家好p2p万能搜索种子
  • 外包公司做网站多少钱优化百度seo
  • 金山网站建设关键词排名seo搜索引擎优化培训班
  • 酒店 深圳 网站制作千锋教育前端学费多少
  • wordpress链接网盘seo点击软件手机
  • web前端是网站开发师吗免费营销软件网站
  • 图片手机网站建设b站推广引流最佳方法
  • wordpress 客户端配置乐陵seo外包
  • 济南seo快速霸屏南宁seo咨询
  • wordpress nginx rewriteseo怎么优化武汉厂商
  • 嘉兴网站制作seo和sem哪个工资高
  • 创业平台网站站长工具服务器查询
  • 商业网站排名app开发公司
  • 网站seo步骤石家庄百度seo
  • 深圳专业做网站多少钱南宁做网站公司
  • 做网站一定要用cms吗青岛seo培训
  • 手机在线制作图片拼多多seo搜索优化
  • 加密的网站使用jmeter做压测seo主要做什么工作
  • 网站首页推广百度号码查询平台
  • 技术开发合同模板槐荫区网络营销seo
  • 大学网站开发模板免费下载蚁百杭州网站seo优化
  • 网站建站助手如何做好seo基础优化