ВУЗ:
Составители:
Рубрика:
А.А. Андрианова, Л.Н. Исмагилов, Т.М. Мухтарова .
Если после первого цикла список не окажется пустым, удаляем элементы
с заданным значением из середины списка. Переменную current устанавли-
ваем на начало списка. Удаляться будет следующий за current элемент, ад-
рес которого будет храниться в переменной help (рис. 3.7 а). Если нужный
элемент найден, то после удаления следующим за current должен быть эле-
мент, идущий за help, иначе будет потерян весь остаток списка (current-
>next=help->next) (рис. 3.7 б). Теперь элемент help можно удалить
(delete help) (рис. 3.7 в). В этом случае значение current не меняется,
поскольку после удаления за ним может идти элемент, который, возможно,
имеет заданное значение. Если же в help хранится значение, отличное от
значения переменной key, сдвигаем current на следующий узел.
Рис 3.7 Удаление из середины списка.
// определение функции удаления элементов списка по ключу
void DeleteKey(List*& head, int key)
{
List* current,*help;
60
А.А. Андрианова, Л.Н. Исмагилов, Т.М. Мухтарова .
Если после первого цикла список не окажется пустым, удаляем элементы
с заданным значением из середины списка. Переменную current устанавли-
ваем на начало списка. Удаляться будет следующий за current элемент, ад-
рес которого будет храниться в переменной help (рис. 3.7 а). Если нужный
элемент найден, то после удаления следующим за current должен быть эле-
мент, идущий за help, иначе будет потерян весь остаток списка (current-
>next=help->next) (рис. 3.7 б). Теперь элемент help можно удалить
(delete help) (рис. 3.7 в). В этом случае значение current не меняется,
поскольку после удаления за ним может идти элемент, который, возможно,
имеет заданное значение. Если же в help хранится значение, отличное от
значения переменной key, сдвигаем current на следующий узел.
Рис 3.7 Удаление из середины списка.
// определение функции удаления элементов списка по ключу
void DeleteKey(List*& head, int key)
{
List* current,*help;
60
Страницы
- « первая
- ‹ предыдущая
- …
- 58
- 59
- 60
- 61
- 62
- …
- следующая ›
- последняя »
