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

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

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

Первый этап аналогичен рассмотренному в алгоритме удаления, а второй проводится только при условии, что искомый элемент найден, т.е. указатель на него 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-11; просмотров: 1470;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.