Witam!
http://pastebin.com/kV6gSLmL - Kod całej listy.
Problem polega na tym iż w funkcji do usuwania elementów, w podanym niżej fragmencie
Nie rozumiem dlaczego gdy zrobie tmp = tmp->next to element z listy nie znika, mimo że powinien, tylko nie ten o który mi chodzi.
Natomiast w drugiej wersji : tmp->next = tmp->next->next
Element normalnie znika
Wg. mnie powinna pierwsza wersja również działać, lecz tak nie jest.
Proszę o waszę wsparcie, dlaczego tak jest, bo nie daje mi to spokoju :)
else
{
Node * Tmp = First;
while (Tmp->Next)
{
if (Tmp->key == k-1)
{
Tmp->Next = Tmp->Next->Next; // Działa, element znika
Tmp = Tmp->Next; // Nie działa, element nie znika
return;
}
Tmp = Tmp->Next;
}
}