所以我需要知道如何编写入队和出队。我需要了解它们的外观,因为不允许使用内置命令。我的教科书绝对没用,给了我关于如何写它们的不必要的信息。
最佳答案
入队和出队就像银行的排队。第一件事是第一件事。如果要排队,则在一端排队,如果要排队,则在另一端排队。您无法进出其他任何地方。
通常,入队插入在列表的第一个位置,出队删除在最后一个位置-因此,让我们继续(尽管您可以将其写成相反)。对于链表,入队与在第一个位置插入相同,大致是:
Node oldFirst = this.first;
this.first = new Node(thing);
this.first.next = oldFirst;
size++;
如果
.prev
是双向链接,请不要忘记正确设置它。出队是一回事,但在后面。如果您有this.last
,则只需镜像以上内容。如果不这样做,则只需遍历元素,直到在最后一个元素之前找到一个,然后将其.next
放入temp变量中,将其设置为null,然后将其返回。