Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
GreyZeng
algorithm
提交
d6cc5b3f
A
algorithm
项目概览
GreyZeng
/
algorithm
通知
10
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
algorithm
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
d6cc5b3f
编写于
1月 24, 2024
作者:
GreyZeng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update code
上级
ba653a31
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
16 addition
and
19 deletion
+16
-19
src/main/java/git/snippet/queueandstack/LeetCode_0622_DesignCircularQueue.java
...ppet/queueandstack/LeetCode_0622_DesignCircularQueue.java
+16
-19
未找到文件。
src/main/java/git/snippet/queueandstack/LeetCode_0622_DesignCircularQueue.java
浏览文件 @
d6cc5b3f
...
...
@@ -7,37 +7,34 @@ package git.snippet.queueandstack;
public
class
LeetCode_0622_DesignCircularQueue
{
class
MyCircularQueue
{
private
final
int
[]
arr
;
private
final
int
limit
;
// 容量,和arr大小保持一致
private
int
popIndex
;
// private final int limit; // 容量,和arr大小保持一致,可以省略
private
int
popIndex
;
// 队列头部指针(指向队列第一个有效元素)
private
int
pushIndex
;
// 队列尾部的下一个位置(就是待插入元素的位置)
private
int
rear
;
// 队列尾部指针
private
int
size
;
// 非常重要,用于判断队列是否满/空
private
int
size
;
// 非常重要,
标识现在的有效元素有几个,
用于判断队列是否满/空
public
MyCircularQueue
(
int
k
)
{
limit
=
k
;
arr
=
new
int
[
limit
];
arr
=
new
int
[
k
];
}
public
boolean
enQueue
(
int
value
)
{
if
(!
isFull
())
{
arr
[
pushIndex
]
=
value
;
rear
=
pushIndex
;
pushIndex
=
next
(
pushIndex
);
size
++;
return
true
;
}
else
{
if
(
isFull
())
{
return
false
;
}
size
++;
arr
[
pushIndex
]
=
value
;
rear
=
pushIndex
;
pushIndex
=
next
(
pushIndex
);
return
true
;
}
public
boolean
deQueue
()
{
if
(!
isEmpty
())
{
popIndex
=
next
(
popIndex
);
size
--;
return
true
;
}
else
{
if
(
isEmpty
())
{
return
false
;
}
size
--;
popIndex
=
next
(
popIndex
);
return
true
;
}
public
int
Front
()
{
...
...
@@ -53,12 +50,12 @@ public class LeetCode_0622_DesignCircularQueue {
}
public
boolean
isFull
()
{
return
size
==
limit
;
return
size
==
arr
.
length
;
}
// 最重要的方法:判断下一个位置,模拟环行为
private
int
next
(
int
pre
)
{
return
pre
+
1
<
limit
?
pre
+
1
:
0
;
return
pre
+
1
<
arr
.
length
?
(
pre
+
1
)
:
0
;
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录