Конструктор учебных заданий для электронного задачника Programming Taskbook - 29 стр.

UptoLike

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

29
объектовсм. далее описание процедуры SetObjectStyle), соответствующие этим
языкам.
Пример 1
P
1
24 - 23 >nil
Первый элемент данного списка связан с указателем P
1
; список содержит два
элемента и является односвязным: на это указывает символ «–» между элементами,
означающий, что поле Next первого элемента (со значением 24) указывает на второй
элемент (со значением 23). Поле Next второго элемента равно nil.
Пример 2
P
1
P
2
nil< 14 = 23 = 34 >nil
Данный список является двусвязным (двойная связь, использующая оба поля
связи — Next и Prev, — обозначается знаком «=»), причем в задании с этим списком
связаны два указателя: P
1
указывает на его первый, а P
2
на его последний элемент.
Пример 3
P
0
<< = 15 - 23 = 34 = >>
Данный список является двусвязным циклическим списком (на его цикличность
указывают символы «<<» и «>>»), однако одна из его связей отсутствует. А именно,
элемент 23 (на который указывает указатель P
0
) не связан с предыдущим элемен-
том 15, то есть поле Prev элемента 23 содержит ошибочное значение (например, равно
nil). При правильно разработанном задании подобная ситуация может возникнуть
только для ошибочных списков, созданных в программе учащегося. Заметим, что
связь в другом направлении (от 15 к 23) имеется, то есть поле Next элемента 15 ука-
зывает на элемент 23.
Пример 4
P
X
P
Y
95 - 63 -.34.- >>
Данный список является односвязным циклическим списком. Он имеет две осо-
бенности. Во-первых, на элемент 95 указывают сразу два указателя (P
X
и P
Y
), и, во-
вторых, элемент 34 должен быть размещен в памяти процедурой New при выполнении
задания (на это указывают обрамляющие его точки). Подобные элементы, естествен-
но, могут содержаться только в результирующих списках. Они определяются с помо-
щью процедуры SetNewNode.
Пример 5
Так выглядит на экране бинарное дерево глубины 4. С корнем этого дерева (поле
Data которого равно 96) связан указатель P
1
.
Пример 6