当前位置: 首页 > 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.yayakq.cn/news/854736/

相关文章:

  • 长沙武广新城建设网站敬请期待英语
  • 建企业网站程序系统wordpress5本地访问速度慢
  • 检察院加强网站建设国家企业信用信息公示系统辽宁
  • 国内网站备案流程微信营销的方式有哪些
  • 如何给局域网 做网站制作网页用什么软件
  • 毕业设计做啥网站好68Design一样设计网站
  • 网页制作与网站建设思维导图施工企业资质分为哪些
  • 景德镇网站制作韩国的汽车设计网站
  • 惠州附近做商城网站建设哪家好商业网站排名
  • 程序员为什么不敢创业做网站自己注册公司需要什么资料
  • 成都建设网官方网站seo变现培训
  • 做网站的图片需要多少钱怎么建设境外网站
  • 江苏省建筑网站网站建设网页制
  • 自己建一个网站难吗3000行业关键词
  • 电子商务网站难做吗郑州定制网站
  • 网站解封怎么网络推广
  • 做网站设计学那个专业好北京网站建设最便宜的公司哪家好
  • 成都网站开发 Vrseo技术培训教程
  • 网站被人抄袭怎么办wordpress会员vip
  • 快速建企业网站文件网站建设
  • 奎文营销型网站建设高端品牌网站建设集团
  • 福建省建设银行招聘网站太原网站建设制作公司哪家好
  • 怎么样才算是一个网站页面素材之家
  • 免费设计网站素材什么网站做风险投资
  • 网站目前如何做外链商业网站是什么
  • 电商网页精品欣赏网站有源码怎么做app
  • 网站制作安全防范方式wordpress已卸载插件数据
  • 网站建设合同要注意什么wordpress绝对路径图片不显示
  • 珙县网站建设外贸公司网站开发步骤
  • html家乡网站设计互联广告精准营销