Pointer61. Дан непустой двусвязный список, первый, последний и текущий элементы которого имеют адреса $$P_1$$, $$P_2$$ и $$P_3$$. Также даны пять чисел. Используя тип TList (см. задание Pointer59), описать процедуру InsertBefore($$L$$, $$D$$), которая вставляет новый элемент со значением $$D$$ перед текущим элементом списка $$L$$ ($$L$$ — входной и выходной параметр типа TList, $$D$$ — входной параметр …
Записи с меткой «Pascal»
Решаем задачи Абрамян на Паскале. Pointer60
Pointer60. Даны указатели $$P_1$$, $$P_2$$ и $$P_3$$ на первый, последний и текущий элементы двусвязного списка (если список является пустым, то $$P_1=P_2=P_3=nil$$). Также дано число $$N$$ $$(>0)$$ и набор из $$N$$ чисел. Используя тип TList (см. задание Pointer59), описать процедуру InsertFirst($$L$$, $$D$$), которая добавляет новый элемент со значением $$D$$ в начало списка $$L$$ ($$L$$ — входной …
Решаем задачи Абрамян на Паскале. Pointer59
Pointer59. Даны указатели $$P_1$$, $$P_2$$ и $$P_3$$ на первый, последний и текущий элементы двусвязного списка (если список является пустым, то $$P_1=P_2=P_3=nil$$). Также дано число $$N$$ $$(>0)$$ и набор из $$N$$ чисел. Описать тип TList — запись с полями First, Last и Current типа PNode (поля указывают соответственно на первый, последний и текущий элементы списка) — …
Решаем задачи Абрамян на Паскале. Pointer58
Pointer58. Дано число $$K$$ $$(>0)$$ и указатели $$P_1$$ и $$P_2$$ на первый и последний элементы непустого двусвязного списка. Осуществить циклический сдвиг элементов списка на $$K$$ позиций назад (то есть в направлении от конца к началу списка) и вывести указатели на первый и последний элементы полученного списка. Для выполнения циклического сдвига преобразовать исходный список в циклический …
Решаем задачи Абрамян на Паскале. Pointer57
Pointer57. Дано число $$K$$ $$(>0)$$ и указатели $$P_1$$ и $$P_2$$ на первый и последний элементы непустого двусвязного списка. Осуществить циклический сдвиг элементов списка на $$K$$ позиций вперед (то есть в направлении от начала к концу списка) и вывести указатели на первый и последний элементы полученного списка. Для выполнения циклического сдвига преобразовать исходный список в циклический …
Решаем задачи Абрамян на Паскале. Pointer56
Pointer56. Даны указатели $$P_1$$ и $$P_2$$ на первый и последний элементы непустого двусвязного списка, содержащего четное количество элементов. Преобразовать список в два циклических списка (см. задание Pointer55), первый из которых содержит первую половину элементов исходного списка, а второй — вторую половину. Вывести указатели $$P_A$$ и $$P_B$$ на два средних элемента исходного списка (элемент с адресом …
Решаем задачи Абрамян на Паскале. Pointer55
Pointer55. Дан указатель $$P_1$$ на первый элемент непустого двусвязного списка. Преобразовать список в циклический, связав его последний элемент с помощью поля Next с первым, а первый элемент с помощью поля Prev — с последним, и вывести указатель на элемент, который был последним элементом исходного списка.
Решаем задачи Абрамян на Паскале. Pointer54
Pointer54. Даны указатели $$P_X$$ и $$P_Y$$ на два различных элемента двусвязного списка; элемент с адресом $$P_X$$ находится в списке перед элементом с адресом $$P_Y$$, но не обязательно рядом с ним. Переместить элементы, расположенные между данными элементами (не включая данные элементы) в новый список (в том же порядке). Вывести указатели на первые элементы преобразованного и нового …
Решаем задачи Абрамян на Паскале. Pointer53
Pointer53. Даны указатели $$P_X$$ и $$P_Y$$ на два различных элемента двусвязного списка; элемент с адресом $$P_X$$ находится в списке перед элементом с адресом $$P_Y$$, но не обязательно рядом с ним. Переместить элементы, расположенные между данными элементами (включая данные элементы) в новый список (в том же порядке). Вывести указатели на первые элементы преобразованного и нового списков. …
Решаем задачи Абрамян на Паскале. Pointer52
Pointer52. Даны два непустых двусвязных списка и связанные с ними указатели: $$P_A$$ и $$P_B$$ указывают на первый и последний элементы первого списка, $$P_C$$ — на один из элементов второго. Объединить исходные списки, поместив все элементы первого списка (в том же порядке) после данного элемента второго списка, и вывести указатели на первый и последний элементы объединенного …