【发布时间】:2015-03-14 21:51:56
【问题描述】:
所以我需要知道如何编写入队和出队。我需要了解它们的外观,因为我不允许使用内置命令。我的教科书毫无用处,给了我关于如何编写它们的不必要信息。
【问题讨论】:
-
你为什么不google一下?
标签: java string linked-list
所以我需要知道如何编写入队和出队。我需要了解它们的外观,因为我不允许使用内置命令。我的教科书毫无用处,给了我关于如何编写它们的不必要信息。
【问题讨论】:
标签: java string linked-list
入队和出队就像银行的排队。先进先出。如果你想排队,就在一端排队,如果你想出去,就从另一端出去。你不能在其他任何地方进出。
通常,入队在列表的第一个位置插入,而出队在最后一个位置删除 - 所以让我们开始吧(尽管你可以反之亦然)。对于链表来说,入队和在第一个位置插入是一样的,大致是:
Node oldFirst = this.first;
this.first = new Node(thing);
this.first.next = oldFirst;
size++;
不要忘记正确设置.prev,如果它是双向链接的。出队是同样的事情,但在后面。如果您有this.last,则只需镜像上述内容。如果不这样做,那么只需遍历元素,直到找到最后一个 before 的元素,将其 .next 放入临时变量中,将其设置为 null,然后返回。
【讨论】: