Listy,wskaźniki [c]

0

Mam problem w zrozumieniu,chodzi o funkcje usuwającą element z listy,mianowicie rozumiem że jesli jest

 ltt*eject(ltt*eject,ltt*x)
if(x->prev==NULL)
if(x->next)
{x->next->prev=NULL;head=x->next/* tego nie rozumiem

to x jest głową listy ,i istnieje kolejny element, rozumiem też że teraz trzeba wskazać nową głowę listy (czyli ten kolejny element)
nie rozumiem tego co jest pogrubione, jak to w ogóle działa?

0

To jest lista dwukierunkowa. Aby zrozumieć wystarczy sobie na kartce narysować listę składającą się powiedzmy z 3-ch elementów.

0

Rozumiem działanie listy ,jak najbardziej wiem co kiedy się stanie ,nie rozumiem natomiast fragmentu kodu

 {x->next->prev=NULL;head=x->next

jak to interpetować ? ( x wskazuje na next,next wskazuje na prev=NULL ??)

2

Rozpisz to przez zmienne dodatkowe, lub NARYSUJ NA KARTCE.
x->next->prev=NULL; head=x->next;

next=x->next; next->prev=NULL; head=next;

1 użytkowników online, w tym zalogowanych: 0, gości: 1