我目前正在用Javascript编写代码,我是一名新手,我需要代码方面的帮助。我想创建一个包含节点(显然)的树,它指向一个链表,这个列表将包含节点子节点。在链表之外,我唯一需要的节点是我的根节点。
无论如何,我的问题是在我父亲节点的链接列表中添加一个节点。示例:
根-
当我试图在链表中添加一个节点时,我的第一个节点被覆盖。
代码:
var list = new LinkedList();
var rootnode = new Node("Root");
list.add(rootnode, 20);
list.add(rootnode, "Como");
list.add(rootnode, "Estas");
list.add(rootnode, "ggg");
list.print(rootnode);
function LinkedList() {
this.first = null;
this.add = LinkedListAdd;
this.print = LinkedListPrint;
this.search = LinkedListSearch;
}
function Node(value) {
this.value = value;
this.next = null;
this.child = new LinkedList();
}
function LinkedListAdd(node, item) {
if (!node.child.first) {
node.child.first = new Node(item);
} else {
while (node.child.first.next) {
node.child.first = node.child.first.next;
}
node.child.first.next = new Node(item);
}
}
打印我的rootnode.child.first
给我:"Estas"
不应覆盖节点。小孩首先,取一个局部变量:
let acc = node.child.first;
while(acc.next) acc = acc.next;
acc.next = new Node(item);
提示:您可以使用
this
访问LinkedListAdd
中的LinkedList,这使您可以做到这一点:
root.children.add(10);
那么你就不需要这个不必要的
列表了。
本文向大家介绍JavaScript中原型链存在的问题解析,包括了JavaScript中原型链存在的问题解析的使用技巧和注意事项,需要的朋友参考一下 我们知道使用原型链实现继承是一个goodway:)看个原型链继承的例子。 关系如下:b(实例) ->B.prototype = new A() -> A.prototype ->Object.prototype 可是在这种看似“漂亮”的继承方法中确存在
我的问题是,如果用户输入一个姓氏,并且在链接列表中有多个相同的姓氏,并且其中一个姓氏在head节点中。如何在不删除头部节点的情况下删除另一个姓氏。我尝试了一些我能想到的方法,但是删除了所需的节点(这很好),包括头部节点(这不是我想要的…)
本文向大家介绍C ++链表中节点的较小元素的总和,包括了C ++链表中节点的较小元素的总和的使用技巧和注意事项,需要的朋友参考一下 在这个问题中,我们得到了一个链表,链表的节点由两个值和一个指针组成。我们的任务是创建一个程序,以查找链表中节点的较小元素的总和。 在此,在链接列表中,我们有两个元素,分别是X和Y。程序将找到x和y的最小值。添加了来自所有节点的最小元素,这是必需的结果。 输入- 输出-
我有一个基本的链表问题,我在下面试图解决。如果您能为我的方法、算法的正确性(甚至是编码风格)提供任何信息,我将不胜感激。该问题需要一个函数,该函数删除循环链表中所有出现的int,并返回列表中的任何节点或NULL(当列表为NULL时)。 以下是我目前掌握的一些C代码:
这是我的remove函数,用于删除具有元素的节点。我得到了一个seg错误,我很确定这是因为temp->prev是前面的哨兵,所以从技术上来说,它不在双链表中。如果这是正确的,我实际上如何防止这种情况?如有任何帮助,不胜感激。 编辑:刚刚更新了代码,但仍然出现了Seg错误