0
我試圖刪除雙向鏈表中的一個節點,但這裏的問題是,當我有清單:7-6-5-4-3-2-1,並嘗試刪除3,我得到7-6-5-4-3,我無法弄清楚錯誤。請幫忙!雙鏈表:刪除節點
void RemoveItem(int itm)
{
if (Head->item == itm) {
Head = Head -> Next;
cout<<"\nItem is at 1st node & removed\n";flag=1;
}
else if (Head->Next == NULL) {
cout<<" \n This is 1-node list & item not in it\n";
}
else {
node *current, *del = Head;
while(del->Next != NULL && del->item != itm) {
del = del->Next;
}
current = del;
current->Next = del->Next;
del->Next->previous = current;
delete(del);
del->Next = NULL;
flag = 1;
}
}
它沒有這樣工作,與以前相同的輸出。 :/ –
@AliZahr擺脫其他一切包括設置當前刪除和只是使用這個邏輯 –
我做了,但現在我進入無限循環:/ 這裏的代碼:while(del-> Next!= NULL && del-> item!= itm){del | del-> Next; } del-> Next-> previous = del-> previous; del-> previous-> Next = del-> Next; 刪除(del); –