1

リンク リストの先頭にノードを追加しようとしています。これが私のコードですが、テストを実行すると機能しません。私が間違っているかもしれないことについてのアイデアはありますか? よろしくお願いします。

void List<T>::insertFront(T const & insert)
{
    ListNode * newNode = new ListNode(insert);
    if (head != NULL)
    {
        head->prev = newNode;
        head = head->prev;
        head->prev = NULL;
    }
    else
    {
        head = newNode;
        tail = newNode;
    }
}
4

2 に答える 2

3

二重にリンクされたリストは 2 つの方法でリンクされています。新しいノードは 1 つの方法でのみ接続されます。

あなたには必要だ:

newnode->next = head;

古いヘッドのリンクを解除する前にそこに。

于 2012-09-27T15:54:06.450 に答える