C++ 链表的一个问题,找不出来

while (p && q)

{
    if (p->element <= q->element)
    {
        if (newNode)
        {
            newNode->next = p;
            newNode->next->previous = newNode;
            newNode = newNode->next;
            p = p->next;
        }
        else
        {
            newNode = firstNode = p;
            firstNode->previous = nullptr;
            p = p->next;
        }
    }

    if (p && p->element > q->element) 
    {
        if (newNode)
        {
            newNode->next = q;
            newNode->next->previous = newNode;
            newNode = newNode->next;
            q = q->next;
        }
        else
        {
            newNode = firstNode = q;
            firstNode->previous = nullptr;
            q = q->next;
        }
    }
}

图片描述

图片描述

图片描述

当我给下一个节点赋值时,全部值都为0了

阅读 1.5k
1 个回答

缺乏必要的描述,程序的主要功能是什么?newNode, p, q的初始值是什么?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题