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

Пусть имеется связный список из трех чисел: 5, -3, -12.

Добавим в описание переменных переменную ссылочного типа r:

Var head, q, r: TPoint;

Список сформирован, и значениями переменных head и q является ссылка на первый элемент списка:

 

 

Необходимо после элемента -3вставить элемент с информационной частью, равной 17.

Для включения нового элемента в готовый список выполняются следующие действия:

 

1. создается новый элемент и заполняется его информационное поле:

New(r);

r^.Inf := 17;

2. в списке находится элемент, после которого должен стоять новый, в данном случае элемент -3; для этого используем переменную q :

While (q <> Nil) Do пока не дошли до конца списка

If (q^.Inf = -3) если нашли нужный элемент,

Then Break то выходим из цикла поиска,

Else q := q^.Next; иначе делаем шаг по списку

сейчас ссылка q указывает на элемент -3 , то есть q^.Inf = -3, а поле q^.Next содержит адрес элемента -12:

 

3. в ссылочное поле нового элемента r^.Next помещается адрес, стоящий в ссылочном поле найденного элемента (адрес следующего за ним элемента, в данном случае элемента -12, этот адрес хранится в q^.Next):

r^.Next := q^.Next;

 

сейчас оба элемента (17 и -3) будут соединены с элементом -12,

4. в ссылочное поле найденного элемента -3 q^.Next помещается адрес нового элемента 17, который хранится на ссылке r:

q^.Next := r;

 

 

Пример: сформировать список из элементов 5, -3, 17, -12 и вывести его на экран. Добавлять с клавиатуры новые элементы после заданных (конец ввода – число 0), каждый раз выводя новый список на экран.

Интерфейс:








Дата добавления: 2015-08-08; просмотров: 612;


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

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

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

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