ВУЗ:
Составители:
Рубрика:
85
В виде кодов материализация алгоритма будет следующая:
public void print() {
ListNode curNode = head;
while (curNode != null) {
Console.Write(curNode.data + " ");
curNode = curNode.next;
}
Console.WriteLine();
}
Но ее можно сократить, используя особенности цикла for
public void print() {
for (ListNode curNode = head; curNode != null;
Console.Write(curNode.data + " "), curNode =
curNode.next) ;
Console.WriteLine();
}
Мы рассмотрели операции добавления, просмотра. Из «классических»
операций осталось только удаление элемента.
Приведем несколько ключевых положений, которые следует учитывать
при реализации удаления:
1. Если список характеризуется головой списка, то удаление можно
рассматривать как удаление из головы списка или удаление не из
головы списка.
2. Если удаление происходит из головы списка,
то список меняется.
3. При «переходе» на следующий узел в односвязанном списке нельзя
«вернуться назад» к предыдущему узлу.
Теперь рассмотрим само удаление. Пусть у нас есть список и происходит
удаление единицы.
Логично предположить, что после удаления список будет выглядеть
следующим образом:
Т. е. голова просто переместилась на следующий элемент. Тогда первый
шаг в решении будет
public void delFromHead(int delValue) {
Страницы
- « первая
- ‹ предыдущая
- …
- 83
- 84
- 85
- 86
- 87
- …
- следующая ›
- последняя »