更新时间:2023-01-17 18:15:12
您的del
函数将删除临时节点(需要删除的节点之前的节点).
Your del
function deletes pretemp node (node that was before the one that you need to delete).
可能的解决方法:
//n : data of element that you want to delete from list
void del(int n)
{
//loop to find 'n'
for (node *tmp = first; tmp->link; tmp = tmp->link)
{
if (n == tmp->link->data)
{
node *x = tmp->link;
tmp->link = tmp->link->link;
delete x;
num--;
break;
}
}
}
还,您的del
是否应该删除所有data
== n
的节点?
Also, was your del
supposed to delete all nodes with data
== n
?