1 Star 0 Fork 44

盛凯/lec03-stack-queue

forked from SE-201/lec03-stack-queue 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Lz.java 1.69 KB
一键复制 编辑 原始数据 按行查看 历史
盛凯 提交于 2020-11-18 08:50 . 修改更正
public class Lz {
private Node first;
private Node last;
private int size;
public Lz() {
first = null;
last = null;
size = 0;
}
public void push(int item) {//往队列中添加元素
Node newNode;
if (size == 0) {
newNode = new Node(null, null, item);
first = newNode;
} else {
newNode = new Node(last, null, item);
last.next = newNode;
}
last = newNode;
size++;
}
public int pop() throws Exception {//队列第一个元素出列
if (size == 0) {
throw new Exception("QueueEmpty");
} else {
int res = first.item;
if (size == 1) {
first = null;
last = null;
} else {
first = first.next;
first.perv = null;
}
size--;
return res;
}
}
public int peek() {
return first.item;
}
private Node jump(int position) throws Exception {//通过用户给予的位置信息,移动至指定位置
if (position > 0 && position <= size) {
Node nowNode = first;
while (position - 1 != 0) {
nowNode = nowNode.next;
position--;
}
return nowNode;
} else {
System.out.println("error...");
throw new Exception("error...");
}
}
private static class Node {
private Node perv;
private Node next;
private final int item;
public Node(Node perv, Node next, int item) {
this.perv = perv;
this.next = next;
this.item = item;
}
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/sheng-kai/lec03-stack-queue.git
git@gitee.com:sheng-kai/lec03-stack-queue.git
sheng-kai
lec03-stack-queue
lec03-stack-queue
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385