Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Алгоритм вставки элемента в список после элемента с указанным ключом



Вставить в список элемент после элемента, значение информационной части (ключ) которого совпадает со значением, введенным с клавиатуры.

Решение данной задачи проводится в два этапа – поиск и вставка.

Первый этап аналогичен рассмотренному в алгоритме удаления, а второй проводится только при условии, что искомый элемент найден, т.е. указатель на него key не равен NULL.

Этап второйвставка

1. Захватываем память под новый элемент

t = (Spis*) malloc(sizeof(Spis));

2. Формируем информационную часть:

scanf(“%d”, &t -> info);

3. Связываем новый элемент с предыдущим

t -> Prev = key;

4. Связываем новый элемент со следующим

t -> Next = key -> Next;

5. Связываем предыдущий элемент с новым

key -> Next = t;

6. Если элемент добавляется не в конец списка (как показано на схеме ниже), т.е. key!= end, то

(t -> Next) -> Prev = t;

7. Иначе, если key = end, то указатель key -> Next равен NULL (в п. 4 установлено окончание списка) и новым последним становится t

end = t;

Общая схема вставки элемента:

Алгоритм освобождения памяти, занятой списком, аналогичен рассмотренному алгоритму для стека (см. разд. 15.2).





Дата публикования: 2015-09-17; Прочитано: 293 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...