М.Э. Абрамян - Programming Taskbook (1157415), страница 31
Текст из файла (страница 31)
Послеудаления элементов из списка вызывать для них метод Dispose.Dynamic43. Дан первый элемент A1 непустого двусвязного списка. Удалитьиз списка все элементы с нечетными значениями и вывести ссылку напервый элемент преобразованного списка (если в результате удаленияэлементов список окажется пустым, то вывести null). После удаленияэлементов из списка вызывать для них метод Dispose.Dynamic44.
Дана ссылка A0 на один из элементов непустого двусвязного списка. Переместить данный элемент в конец списка и вывести ссылки напервый и последний элементы преобразованного списка. Новые объектытипа Node не создавать, свойства Data не изменять.Dynamic45. Дана ссылка A0 на один из элементов непустого двусвязного списка. Переместить данный элемент в начало списка и вывести ссылки напервый и последний элементы преобразованного списка.
Новые объектытипа Node не создавать, свойства Data не изменять.Dynamic46. Дано число K (> 0) и ссылка A0 на один из элементов непустогодвусвязного списка. Переместить в списке данный элемент на K позицийвперед (если после данного элемента находится менее K элементов, то144М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6переместить его в конец списка). Вывести ссылки на первый и последний элементы преобразованного списка. Новые объекты типа Node несоздавать, свойства Data не изменять.Dynamic47. Дано число K (> 0) и ссылка A0 на один из элементов непустогодвусвязного списка.
Переместить в списке данный элемент на K позицийназад (если перед данным элементом находится менее K элементов, топереместить его в начало списка). Вывести ссылки на первый и последний элементы преобразованного списка. Новые объекты типа Node несоздавать, свойства Data не изменять.Dynamic48. Даны ссылки AX и AY на два различных элемента двусвязногосписка (элемент AX находится в списке перед элементом AY , но не обязательно рядом с ним). Поменять местами данные элементы и вывестиссылку на первый элемент преобразованного списка. Новые объекты типаNode не создавать, свойства Data не изменять.Dynamic49◦ . Дан первый элемент A1 непустого двусвязного списка. Перегруппировать элементы списка, переместив все элементы с нечетныминомерами в конец списка (в том же порядке) и вывести ссылку на первыйэлемент преобразованного списка.
Новые объекты типа Node не создавать,свойства Data не изменять.Dynamic50. Дан первый элемент A1 непустого двусвязного списка. Перегруппировать элементы списка, переместив все элементы с нечетными значениями в конец списка (в том же порядке) и вывести ссылку на первыйэлемент преобразованного списка. Новые объекты типа Node не создавать,свойства Data не изменять.Dynamic51.
Для двух непустых двусвязных списков даны следующие объекты: A1 и A2 — начало и конец первого списка, A0 — один из элементов второго списка. Объединить исходные списки, поместив все элементы первого списка (в том же порядке) перед данным элементом второго списка, ивывести ссылки на первый и последний элементы объединенного списка.Новые объекты типа Node не создавать.Dynamic52. Для двух непустых двусвязных списков даны следующие объекты: A1 и A2 — начало и конец первого списка, A0 — один из элементоввторого списка. Объединить исходные списки, поместив все элементыпервого списка (в том же порядке) после данного элемента второго списка, и вывести ссылки на первый и последний элементы объединенногосписка.
Новые объекты типа Node не создавать.Динамические структуры данных (.NET)145Dynamic53. Даны ссылки AX и AY на два различных элемента двусвязного списка; элемент AX находится в списке перед элементом AY , но необязательно рядом с ним. Переместить элементы, расположенные междуданными элементами (включая данные элементы), в новый список (в томже порядке). Вывести ссылки на первые элементы преобразованного инового списков. Если преобразованный список окажется пустым, то связанную с ним ссылку положить равной null. Новые объекты типа Node несоздавать.Dynamic54.
Даны ссылки AX и AY на два различных элемента двусвязного списка; элемент AX находится в списке перед элементом AY , но необязательно рядом с ним. Переместить элементы, расположенные междуданными элементами (не включая данные элементы), в новый список (втом же порядке). Вывести ссылки на первые элементы преобразованногои нового списков. Если новый список окажется пустым, то связанную сним ссылку положить равной null. Новые объекты типа Node не создавать.Dynamic55◦ . Дан первый элемент A1 непустого двусвязного списка.
Преобразовать список в циклический, записав в свойство Next последнего элементасписка ссылку на его первый элемент, а в свойство Prev первого элемента— ссылку на последний элемент. Вывести ссылку на элемент, которыйбыл последним элементом исходного списка.Dynamic56. Даны ссылки A1 и A2 на первый и последний элементы непустогодвусвязного списка, содержащего четное количество элементов. Преобразовать список в два циклических списка (см. задание Dynamic55), первыйиз которых содержит первую половину элементов исходного списка, а второй — вторую половину. Вывести ссылки A3 и A4 на два средних элементаисходного списка (элемент A3 должен входить в первый циклический список, а элемент A4 — во второй).
Новые объекты типа Node не создавать.Dynamic57. Дано число K (> 0) и ссылки A1 и A2 на первый и последнийэлементы непустого двусвязного списка. Осуществить циклический сдвигэлементов списка на K позиций вперед (то есть в направлении от начала к концу списка) и вывести ссылки на первый и последний элементыполученного списка. Для выполнения циклического сдвига преобразоватьисходный список в циклический (см. задание Dynamic55), после чего«разорвать» его в позиции, соответствующей данному значению K. Новые объекты типа Node не создавать.Dynamic58.
Дано число K (> 0) и ссылки A1 и A2 на первый и последний146М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6элементы непустого двусвязного списка. Осуществить циклический сдвигэлементов списка на K позиций назад (то есть в направлении от концак началу списка) и вывести ссылки на первый и последний элементыполученного списка. Для выполнения циклического сдвига преобразоватьисходный список в циклический (см. задание Dynamic55), после чего«разорвать» его в позиции, соответствующей данному значению K. Новыеобъекты типа Node не создавать.Dynamic59◦ .
Даны ссылки A1 , A2 и A3 на первый, последний и текущий элементы двусвязного списка (если список является пустым, тоA1 = A2 = A3 = null). Также дано число N (> 0) и набор из N чисел.Описать класс IntList, содержащий следующие члены:• три закрытых поля first, last, current типа Node (первый, последний итекущий элементы списка);• конструктор с параметрами aFirst, aLast, aCurrent — первым, последним и текущим элементами существующего списка;• процедура InsertLast(D), которая добавляет новый элемент со значением D в конец списка (D — входной параметр целого типа, добавленныйэлемент становится текущим);• процедура Put (без параметров), которая выводит ссылки на поля first,last и current, используя метод Put класса PT.С помощью метода InsertLast добавить в конец исходного списка данныйнабор чисел (в том же порядке) и вывести ссылки на первый, последнийи текущий элементы полученного списка, используя для этого метод Putкласса IntList.Dynamic60.
Даны ссылки A1 , A2 и A3 на первый, последний и текущий элементы двусвязного списка (если список является пустым, тоA1 = A2 = A3 = null). Также дано число N (> 0) и набор из N чисел.Включить в класс IntList (см. задание Dynamic59) процедуру InsertFirst(D),которая добавляет новый элемент со значением D в начало списка (D —входной параметр целого типа).
Добавленный элемент становится текущим. С помощью метода InsertFirst добавить в начало исходного спискаданный набор чисел (добавленные числа будут располагаться в списке вобратном порядке) и вывести ссылки на первый, последний и текущийэлементы полученного списка.Dynamic61. Даны ссылки A1 , A2 и A3 на первый, последний и текущий элементы непустого двусвязного списка. Также даны пять чисел. Включить вДинамические структуры данных (.NET)147класс IntList (см.