我需要帮助为我的PerformanceList编写这个addAfterCurrent方法,它是一个双链表,声明了一个standerd head、tail和cursor(current)节点。节点类使用
PerformanceNode Next;PerformanceNode上一个;
public void addAfterCurrent(PerformanceNode element)
{
PerformanceNode temp = element;
if (cursor == null)
{
head = temp;
tail = temp;
cursor = temp;
}
else
{
temp.setNext(cursor);
cursor.setPrev(temp);
cursor = temp;
if(cursor == null)
{
tail = cursor;
}
}
}
我根据定义用一些注释实现了:
public void addAfterCurrent(PerformanceNode node) {
if (node == null) {
throw new IllegalArgumentException("Node to be added cannot be null!");
}
if (cursor == null && tail == null) {
throw new IllegalStateException("There is neither current nor tail node!");
}
if (cursor == null) { // there is no current node
// insert the node at the end of the list
tail.setNext(node);
node.setPrev(tail);
// mode end cursor
tail = node;
// current node should now be the newly created node
cursor = node;
} else { // there is current node
PerformanceNode temp = cursor.getNext();
// new node directly follows the current node
cursor.setNext(node);
node.setPrev(cursor);
if (temp != null) {
node.setNext(temp);
temp.setPrev(node);
} else { // current node was the last node
tail = node; // mode end cursor
}
}
}
我必须实现类"DoubleChainedList"和"Elem"。DoubleChainedList管理一个双链列表,Elem是关联的节点类,指针指向后继节点和前驱节点。 我必须实施以下方法: public void removeAtIndex(int i)//删除位置i处的元素 public int[]toArray()//将列表作为数组返回 双链列表 要素: 我的问题:它显示了以下错误:hea
我写了一个程序,通过双链表管理银行账户,但我发现取消程序有问题。 我仍然有同样的问题,即使我尝试了这个方法:-(pnt)-
我已经得到了实现双向链表的框架。我被PushFront()方法难住了。方法应该将提供的元素添加到链表的前面,并且应该将地址返回到新的头节点。我对如何访问列表的当前头部感到困惑,以便我可以将其分配给pNext指针。到目前为止,PushTop()方法看起来是这样的: 元素类构造函数: 数据类: 主要: 我的理解是,您通常会在调用PushFron()时提供头的地址,但是因为我没有提供,我不确定如何访问它
我试图为类分配实现一个双重链表。我目前正忙于实现一个方法来移除指定索引处的节点。 该方法可以移除链表中除索引0以外的任何指定节点。我想问题可能出在我的add方法上,但我不太确定。
本文向大家介绍双向链表和双向循环链表?相关面试题,主要包含被问及双向链表和双向循环链表?时的应答技巧和注意事项,需要的朋友参考一下 双向链表: 包含两个指针,一个prev指向前一个节点,一个next指向后一个节点。 双向循环链表: 最后一个节点的 next 指向head,而 head 的prev指向最后一个节点,构成一个环。
能否有人请让我知道如果有任何问题与这个实现。 下面是我如何将节点添加到列表中: