博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LinkedQueue的底层实现
阅读量:5949 次
发布时间:2019-06-19

本文共 1206 字,大约阅读时间需要 4 分钟。

 

 

 

package zy813ture;

public class MyLinkedQueue1 {
private Node head;

private Node last = head = new Node();//初始化可以设定默认值,形式固定

// private int size;

private class Node {

private Object data;

private Node next;

}

public MyLinkedQueue1() {

// last = head = new Node();
// last=head;
}

public boolean offer(Object element) {// 将指定的元素插入此队列

if (element == null) {
throw new NullPointerException();
}

// 1

Node node = new Node();
node.data = element;

// 2

last.next = node;

// 3

last = node;
// size++;
return true;

}

public Object peek() {// 获取不移除此队列的头,如果此队列为空,则返回 null。

if (head.next == null) {
return null;
}
return head.next.data;
}

public Object poll() {// 获取并移除此队列的头,如果此队列为空,则返回 null。

if (head.next == null) {
return null;
}
//1
Node node = head;
//2
head= head.next;
//3
//node= null;
node =null;
return head.data;
}
public static void main(String []args){
MyLinkedQueue1 me= new MyLinkedQueue1();
me.offer("ab1");
me.offer("ab2");
me.offer("ab3");
me.offer("ab4");
me.offer("ab5");
//System.out.println(me.peek());
System.out.println(me.poll());//ab1 null
System.out.println(me.poll());//
//System.out.println(me.peek());
//System.out.println(me.peek());
}

}

转载于:https://www.cnblogs.com/ysg520/p/9471663.html

你可能感兴趣的文章
排序--冒泡
查看>>
java中int->String 3种方式效率分析
查看>>
Android 内存管理 &Memory Leak & OOM 分析
查看>>
你所能用到的数据结构(八)
查看>>
(转)谁是真正的程序语言专家
查看>>
T001 A+B(附常见标准输入输出)
查看>>
Java中abstract class和interface的区别
查看>>
SDWebImage 图片下载缓存框架 常用方法及原理
查看>>
MapReduce分布式缓存程序,无法在Windows下的Eclipse中执行问题解决
查看>>
[转]html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
查看>>
[水]三个数学的小技巧题
查看>>
mysql中查看数据库的版本,什么版本
查看>>
[leetcode-342-Power of Four]
查看>>
MongoDB3.0 创建用户
查看>>
2017-2018-1 20155319 《信息安全系统设计基础》第3周学习总结
查看>>
express 3.0.x 中默认不支持flash() 的解决方法
查看>>
uva-111-dp
查看>>
算法学习1——矩阵转置
查看>>
Tcl与Design Compiler (九)——综合后的形式验证
查看>>
跨页数据传递
查看>>