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

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-11; просмотров: 785;


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

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

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

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