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

Добавление элементов в конец списка



1. Начало цикла.

2. Захват памяти под текущий элемент:

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

3. Формирование информационной части:

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

4. Формирование адресных частей текущего элемента:

а) указателю на следующий элемент (Next) присваиваем значение NULL, т.к. добавление выполняем в конец, следующего за t нет:

t -> Next = NULL;

б) указателю на предыдущий элемент (Prev), используя указатель конца (end), присваиваем адрес бывшего последнего элемента:

t -> Prev = end;

5. Последним элементом был end, а должен стать t, для этого указатель на следующий элемент последнего в списке (end) устанавливаем на создан­ный (текущий):

end -> Next = t;

6. Переставляем указатель конца списка на созданный элемент:

end = t;

7. Продолжаем цикл до тех пор, пока не обработаем признак его завершения.

Алгоритм просмотра списка

С начала С конца
1. Устанавливаем текущий указатель на:
начало списка t = begin; конец списка t = end;
2. Начало цикла, работающего до тех пор, пока t!= NULL.
3. Информационную часть текущего элемента t -> info – на печать.
4. Устанавливаем текущий указатель на:
следующий элемент, адрес которого находится в поле Next текущего элемента t = t -> Next; предыдущий элемент, адрес которого находится в поле Prev текущего элемента t = t -> Prev;
5. Конец цикла.  




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



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