В данный момент я программирую круговой двусвязный список, и моя задача выполнена, но у меня небольшая проблема с пониманием кода на 100%.
Это код:
if (counter == 0) {
startpoint = newNode;
startpoint.next = startpoint;
startpoint.prev = startpoint;
head = startpoint;
currentNode = newNode;
} else {
newNode.prev = startpoint.prev;
newNode.next = startpoint;
startpoint.prev.next = newNode; <- this is, where I have problems
startpoint.prev = newNode;
head = startpoint;
currentNode = newNode;
}
counter++;
}
Первая часть полностью понятна и просто описывает, что первый узел (если нет другого узла) будет указывать на себя, когда вызывается следующий или первый метод.После оператора else первая строка описывает, что первый узел может указывать на второй, а второй на предыдущий, верно?Вторая строка после else просто описывает, что последний узел указывает на первый.В четвертой строке описывается, что первый узел указывает на последний узел, если вызывается предыдущий метод и круг замкнут.Но что именно описывает третья строка?Код определенно работает.
Спасибо за потраченное время!
Привет, Доминик