【发布时间】:2021-03-16 18:50:00
【问题描述】:
当我从 1 到 n 范围内的 2 到 n-1 之间的位置删除节点时,代码给出了一个垃圾值 这是我的 deletefrommiddle 代码:
void deleteatmiddle(node*&head,int k)
{
if(k==1)
{
deleteathead(head);
return;
}
else if(k==length(head))
{
deleteattail(head);
return;
}
node*temp = head;
int i=1;
while(i<k)
{
temp=temp->next;
i++;
}
temp->prev->next = temp->next;
temp->next->prev = temp->prev;
delete temp;
return;
}
例如在一个列表中:1 2 3 4 如果我想删除第二个位置的元素,它给出:1 624244072 3 4
【问题讨论】:
-
“它正在给予”:您共享的代码不会“给予”任何东西。我想你有输出列表的代码。请提供该代码,并添加足够的代码,以便我们运行它并看到它失败。
标签: c++ data-structures linked-list