ВУЗ:
Составители:
Рубрика:
89
Следующим шагом будет отказ от использования delNode и добавление
проверки на пустоту списка (на всякий случай) в начале функции.
public void delNotFromHead(int delValue) {
if (head == null) {
return;
}
ListNode prevNode = head;
while (prevNode.next != null) {
if (prevNode.next.data != delValue) {
prevNode = prevNode.next;
continue;
}
prevNode.next = prevNode.next.next;
return;
}
}
Удаление и из головы, и не из головы мы реализовали.
Теперь для примера реализуем операцию удаления по значению. Операция
удаления по значению может включать в себя удаление из головы и не из
головы, при этом каждая из них может выполняться 0 или более раз.
Для примера, пусть в списке три двойки и
мы удаляем двойку. Очевидно,
что в начале список был
После этого он пройдет следующие шаги:
И после этого он станет пустым списком.
Т. е. мы делали операцию удаления из головы, пока голова существовала и
в ней находилось удаляемое данное. Поэтому первые шаги материализации
рассуждений в виде кода будут следующими:
public void delByValue(int delValue) {
while (head != null) {
Страницы
- « первая
- ‹ предыдущая
- …
- 87
- 88
- 89
- 90
- 91
- …
- следующая ›
- последняя »