Софтуерно Инженерство
Loading...
+ Нов въпрос
nika_29 avatar nika_29 5 Точки

Linked list,RemoveAt?

Здравейте,може ли някой да ми обясни логиката на метода изтриване по индекс

 if (prevNode != null)
  {
        prevNode.Next = currentNode.Next;
       
    }

prevNode.Next означава ли,че на предишното следващо е равно на currentNode.Next и се прескача индекса така?

Тагове:
0
Структури от данни и алгоритми 23/05/2019 17:45:41
k.sevov avatar k.sevov 1050 Точки
Best Answer

В LinkedList структурата реално няма индекси, просто свързани елементи. Идеята тук е, че имаме примерно x -> y -> z, и когато искаме да изтрием втория елемент сменяме next на "x" да сочи към "z" вместо към "y" (в списъка остава x -> z). По този начин премахваме "y" от нашата структура, защото нищо няма референция към него и въпросният обект ще бъде събран от garbage collector-a.

0