Язык С++ и программирование на нем. Рейзлин В.И. - 137 стр.

UptoLike

Составители: 

139
p = NULL;
приводит к созданию пустого списка. После выполнения операторов
q = new elem; q->data = –8; q->next = p; p = q;
имеем список, состоящий из одного элемента, содержащего число 8 в
информационной части. Переменные p, q указывают на этот элемент
(рис. 3а):
p NULL -8
NULL
q
12
Рис. 3. Создание списка а) из одного элемента (сплошные линии);
б) из двух элементов (пунктир)
Далее, выполнение операторов (рис. 3б)
q = new elem; q->data = 12; q->next = p; p = q;
приводит к тому, что в начало цепочки добавляется новый элемент,
одержащий число 12. В результате получится список, изображенный на
рис. 4. Значением переменных p и q снова является указатель на пер-
вый элемент списка:
Рис. 4. Список из двух элементов
Фактически мы рассмотрели операцию включения нового элемен-
та в начало, или голову списка, а формирование списка состоит в том,
что начинают с пустого списка и последовательно добавляют в начало
элементы.
Пример:
Построим список, элементы которого содержат целые числа
1, 2, 3, . . ., n.
p 12 -8
NULL
q