Динамические структуры данных
121
Dynamic53. Даны указатели
P
X
и
P
Y
на два различных элемента двусвязно-
го списка; элемент с адресом
P
X
находится в списке перед элементом с
адресом
P
Y
, но не обязательно рядом с ним. Переместить элементы, рас-
положенные между данными элементами (включая данные элементы) в
новый список (в том же порядке). Вывести указатели на первые элемен-
ты преобразованного и нового списков. Если преобразованный список
окажется пустым, то связанный с ним указатель положить равным
NIL
.
Операции выделения и освобождения памяти не использовать.
Dynamic54. Даны указатели
P
X
и
P
Y
на два различных элемента двусвязно-
го списка; элемент с адресом
P
X
находится в списке перед элементом с
адресом
P
Y
, но не обязательно рядом с ним. Переместить элементы, рас-
положенные между данными элементами (не включая данные элементы)
в новый список (в том же порядке). Вывести указатели на первые эле-
менты преобразованного и нового списков. Если новый список окажется
пустым, то связанный с ним указатель положить равным
NIL
. Операции
выделения и освобождения памяти не использовать.
Dynamic55
◦
. Дан указатель
P
1
на первый элемент непустого двусвязного спис-
ка. Преобразовать список в
циклический, связав его последний элемент с
помощью поля Next с первым, а первый элемент с помощью поля Prev
— с последним, и вывести указатель на элемент, который был последним
элементом исходного списка.
Dynamic56. Даны указатели
P
1
и
P
2
на первый и последний элементы непусто-
го двусвязного списка, содержащего четное количество элементов. Пре-
образовать список в два
циклических списка (см. задание Dynamic55), пер-
вый из которых содержит первую половину элементов исходного списка,
а второй — вторую половину. Вывести указатели
P
Достарыңызбен бөлісу: