问题标签 [doubly-linked-list]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 从 C 上的文本文件创建双向链表
我必须从一个文本文件中创建一个双向链表,其中每一行都有时间和温度。例如每一行是这样的:12:48 23.69
所以我无法将数据放入双向链表。我不知道如何实现它。所以我做了一个元素的 typedef 结构的数组,并希望我可以从数组的第一个元素开始,然后将下一个指向数组的第二个元素。这就是我所拥有的...
所以这是我的双向链表头文件:
`
这是我的主文件:
java - 为什么要从我的 LinkedList 中删除所有元素?
为什么我的 remove 方法要从我的双向链表中删除每个元素?如果我取出 if/else 语句,那么我可以成功删除中间元素,但列表头部或尾部的元素仍然存在。但是,我添加了 if/else 语句来处理头部和尾部的元素,不幸的是,这个方法现在删除了我列表中的每个元素。我做错了什么?
我测试我的方法的主要课程是:
我运行程序后打印出来的结果是:
java - “MyLinkedList”方法中的 NPE
我在扩展 AbstractList 的 MyLinkedList 类中遇到了 NPE 的一些问题。我从这些构造函数开始:
私有 Node 类的构造函数:
MyLinkedList 类的构造函数
在这里我尝试使用这种方法在索引处返回节点:
我认为主要问题与将头部和尾部初始化为空有关,但我不确定这是否是问题,如果是,如何解决。有没有更好的方法来初始化这些节点以避免 NPE?
c - 交换双链表中的两个节点
我必须编写一个程序,该程序基本上会对链表中的节点进行排序。我有 5 个函数需要为此作业编写,但我被困在其中一个函数上。我遇到问题的功能是交换两个节点。该函数的标头如下:
只要两个节点不相邻,我就可以正常工作。我们有一个提供给我们的 list.h 文件,我们应该使用两个函数evictNode(struct lnode** head, struct lnode* node)
和void insertNode (struct lnode** head, struct lnode* prevNode, struct lnode* nodeToBeInserted)
. 这些函数也处理next
和previous
指针的重新分配。如果它们彼此相邻,我只是不完全确定如何交换节点。我试过把它画出来,但我无法把它包起来。
哦,顺便说一句,我处理其余节点的方式是使用以下代码:
编辑:尝试
其中struct lnode* n1prev = nodeGetPrev(n1)
有两个函数返回上一个/下一个指针
c++ - 在双向链表尾部插入
我第一次使用链表,必须创建一个可以在双向链表末尾插入节点的函数。到目前为止我有
Node 类接受要存储的值、要指向的下一个指针的值以及按该顺序指向的前一个指针的值。每当我尝试在此处插入节点时,都会收到一条错误消息,提示存在未处理的异常,并且在写入位置 0x00000008 时存在访问冲突。
我不完全确定这里出了什么问题,但我认为这与根据错误消息取消引用空指针有关。我真的很感激解决这个问题的一些帮助。
编辑:
我应该早点澄清,tail 是指向列表中最后一个节点的指针。Tail->next 访问最后一个节点的下一个变量,在函数运行之前,它指向 NULL,但在它执行之后应该指向创建的新节点。
java - 我收到两个 NullPointerExceptions,但不知道如何解决
我正在制作一个包含向量的双向链接循环列表,但我无法弄清楚如何修复我得到的两个 NullPointerExceptions。它们都与我的 add 方法一起使用,一个 add 方法在列表末尾插入一个对象,另一个在给定索引处插入对象。这是我有问题的代码。
}
我得到的两个错误是:
在 DListNodeDriver.main(DListNodeDriver.java:7) 的 DList.add(DList.java:102) 的 DList$DListNode.access$0(DList.java:29) 的线程“main”java.lang.NullPointerException 中的异常
DList$DListNode.access$1(DList.java:30) 处 DListNodeDriver.main(DListNodeDriver.java:6) 处 DList.add(DList.java:126) 处的线程“main”java.lang.NullPointerException 中的异常
谢谢,任何帮助表示赞赏。
主要方法
c - 编译错误'未声明的标识符'C
我几乎完成了我的代码,但它给了我这个错误:' curtemp: undeclared identifier
'。和' prevtemp: undeclared identifier
'和' missing ';' before type
'(最后一个错误在“float curtemp = current->temp;”行。我不知道我的代码有什么问题。我试图从双向链表中删除一些元素,当该元素内部的温度比前一个元素的温度高 5 或低 5。
这是我的 .c 文件:
这是我的结构元素文件:
c - 为什么当我使用这种方法反向时会修改原始的双重链接?
我正在尝试使用迭代方法来反转双向链表,即使我没有使用指向原始列表的指针样式修改的指针,我也对正在修改原始列表的部分感到震惊。
这是我正在使用的反向函数,head
是在 main 中声明的局部变量,Node* head = NULL;
并且已经填充了一组值。
这就是我在 main 中使用它的方式:
这是我得到的输出:
我无法获得修改原始头节点的部分。
java - BinarySearchingTree - dll(generic) ,不知何故我的项目无法添加到我的广告中
我在徘徊我做错了什么,有人可以帮助我吗?我正在尝试使用 DDL(双向链表)数据结构制作通用 BST。问题是我的 ADT 已初始化,因为我的isEmpty
方法有效,但我的public addNewElement
which sueprivate insert
不起作用。欢迎任何帮助和建议。
界面:
ADT:
类应用
输出:
c++ - 在 C++ 中使用 LinkList 处理文件
问题:我正在尝试将双向链接列表的对象写入(二进制写入)文件并从中写入。我必须写入对象的完整内容,然后从文件中加载它,并将其存储到新对象中,以按 FIFO 顺序重新创建列表。我认为我写得正确,但我真的不知道如何从文件中加载(读取)它。
记住:我只是想保存和读取CONTENTS
一个节点,&NOT POINTERS.
代码:
添加新书的主要部分。
保存功能将所有数据保存到文件
现在我几乎不知道如何从文件中读取列表,将内容存储到每个节点中并扰乱保存的排列,以 FIFO 顺序重新创建列表。所以我可以稍后打印。我已经练习了很多,去了论坛等,但没有找到任何具体的解决方案。请帮帮我。提前致谢
我努力的一个样本
没有编译时错误。
运行时错误: DobulyList.exe 中 0x00CD8391 处的未处理异常:0xC0000005:访问冲突写入位置 0x00000004。