我正在为一个作业编写一个 LinkedList 类,我正在编写我的插入方法,并且想知道是否可以查看它。
private Node first; // start of the list
private class Node {
private Item item;
private Node next;
}
public boolean insert(Item item) {
// add item to list if it doesn't already exist
// return true if a new Node is created, otherwise false
if ( first.next == null && first.item == item) {
return false;
}
Node ptr = first;
while (ptr.next != null) {
if (ptr.item == item) {
return false;
}
ptr = ptr.next;
}
Node oldFirst = first;
first = new Node();
first.item = item;
first.next = oldFirst;
return true;
}
在大多数情况下,我认为这没关系,但每次我尝试跟踪插入方法时,我最终都会让自己感到困惑并弄乱所有参考更改。有人可以告诉我我做得对吗?任何其他改进也将不胜感激。