java - 在双链表中插入新元素

标签 java list insert linked-list double

我必须实现双链表。 prepend 方法应在现有列表之前插入一个新元素。但我不知道如何将新元素的引用“next”与旧列表的引用“prev”链接起来。 提前致谢。

public class DoublyLinkedList {

private String info;
private DoublyLinkedList next;
private DoublyLinkedList prev;

public DoublyLinkedList(String info) {
    this.info = info;
    this.next = this.prev = null;
}

private DoublyLinkedList(String info, DoublyLinkedList prev, DoublyLinkedList next) {
    this.info = info;
    this.prev = prev;
    this.next = next;
}

DoublyLinkedList prepend(String info) {
    // Beginning of a list, insert new element
    if (prev == null) {
        prev = new DoublyLinkedList(info, null, next);
    } else {
        prev.prepend(info);
    }
    return prev;
}

最佳答案

首先命名您的类DoublyLinkedNode。一系列链接的此类对象将形成一个双向链接的列表

使用正确的类名对于你的思维非常重要。一旦修复了 nsme ie 节点未列出的问题,问题就会变得容易多了。

伪代码:

  • 将根节点的前一个设置为新节点
  • 在根节点旁边设置新节点
  • 将根设置为新节点

关于java - 在双链表中插入新元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13900102/

相关文章:

java - 使用 exec-maven-plugin 进行调试

java - 如何在按钮可见时剪切部分 TextView

java - 将文本区域的内容发送到打印机

java - 为什么要在比较中使用赋值?

java - 为什么我无法使用 List 引用类型对象访问 LinkedList 方法

Python:将目录结构树表示为列表的列表

php - 在页面加载时插入查询,插入两次?

python - 如何在列表字典中获取特定值

mysql - 插入延迟及防止sql注入(inject)

mysql - ansible中mysql插入/更新请求的转义字符串值