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

UptoLike

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

138
24. Списки
Рассмотрим структуру
typedef int ETYPE;
struct elem { ETYPE data;
elem *next;
};
Назовем data информационным элементом. У нас он типа int,
но может быть любого сложного необходимого нам типа ETYPE.
Указатель next указывает на объект типа elem. Объекты типа elem
можно упорядочить с помощью указателя next следующим образом
(рис. 2):
d ata d ata d ata
N U L L
Рис. 2. Структура односвязного списка
Такая структура данных называется однонаправленным, или од-
носвязным списком, иногда цепочкой.
Объекты типа elem из этого списка называют элементами списка
или звеньями. Каждый элемент цепочки, кроме последнего, содержит
указатель на следующий за ним элемент. Признаком того, что элемент
является последним в списке, служит то, что член типа elem* этого
звена равен NULL.
Вместе с каждым списком рассматривается переменная, значени-
ем которой является указатель на первый элемент списка. Если список
не имеет ни одного элемента, то есть пуст, значением этой переменной
должен быть NULL.
Рассмотрим методы работы с такими списками.
Пусть переменные p, q имеют тип elem*:
elem *p, *q;
Построим список из двух элементов, содержащих числа 12 и –8.
Значением переменной p всегда будет указатель на первый эле-
мент уже построенной части списка. Переменная q будет использо-
ваться для выделения с помощью new места в памяти под размещение
новых элементов списка.
Выполнение оператора