我试图为类分配实现一个双重链表。我目前正忙于实现一个方法来移除指定索引处的节点。
public void remove(int index) {
if (index < 0 || index > count-1) {
throw new ListIndexOutOfBoundsException("The index "+index+" is out of bounds.");
}
if (isEmpty()) {
System.out.println("List is empty");
return;
}
MedicationNode curr = head;
int k = 0;
while(k < index) {
curr = curr.next;
k++;
}
if (curr.prev == null) {
curr.next.prev = null;
}else if(curr.next == null) {
curr = curr.prev;
curr.next = null;
}else{
curr.next.prev = curr.prev;
curr.prev.next = curr.next;
}
count--;
}
该方法可以移除链表中除索引0以外的任何指定节点。我想问题可能出在我的add方法上,但我不太确定。
在你的第一个if条件下-
if (curr.prev == null) {
curr.next.prev = null;
//Make your head of the linked list point to this node
head = curr.next;
}
这是因为您要从列表中删除head,所以head应该指向head的下一个节点。
本文向大家介绍C#双向链表LinkedList排序实现方法,包括了C#双向链表LinkedList排序实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#双向链表LinkedList排序实现方法。分享给大家供大家参考。具体如下: 1.函数 打印链表函数PrintLinkedList 和 排序函数SortLinkedList 注:下面代码中的链表每项都是double类型,如果换做其他
我需要帮助为我的PerformanceList编写这个addAfterCurrent方法,它是一个双链表,声明了一个standerd head、tail和cursor(current)节点。节点类使用 PerformanceNode Next;PerformanceNode上一个;
本文向大家介绍Python双链表原理与实现方法详解,包括了Python双链表原理与实现方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python双链表原理与实现方法。分享给大家供大家参考,具体如下: 文章目录 Python实现双链表 单链表与双链表比较 双链表的实现 定义链表节点 初始化双链表 判断链表是否为空 双链表尾部添加元素 双链表头部添加节点: 双链表表头删除 双链表按位
能否有人请让我知道如果有任何问题与这个实现。 下面是我如何将节点添加到列表中:
我必须编写一个双链接列表,我正在尝试实现方法,该方法接受一个参数obj,遍历列表并删除包含元素obj的每个节点。 我面临的问题是,我从前面遍历链表,当我找到包含obj元素的节点时,我会在包含obj元素的节点前后更改节点的下一个/上一个指针。然而,我并没有删除带有obj本身的节点,据我所知,c没有垃圾收集,所以带有obj的节点仍然悬在空中。我如何删除它? 我的擦除()
现在我正在准备编码面试,我有一个关于Java链表的问题。你能告诉我一些可靠的来源,我可以从那里学习和实践基本的链表方法。我喜欢这个:www.cs.cmu.edu/~adamchik/15-121/structions/linked%20lists/code/linkedlist.java,但我对一些方法实现感到困惑。例如,方法E get(int pos)返回的不是node,而是位于pos位置的节点