
Двусвязные списки
21. Построить двусвязный список со сведениями о спортивных командах: название, количество очков, занимаемое место, месторасположение команды. Первый указатель указывает на следующую команду в списке, второй - на следующую команду из города Донецка;
а) напечатать названия команд из Донецка, набравших 10 очков;
б) проверить, есть ли среди элементов списка команда Динамо, 20 очков, 1 место, город Киев.
22. Построить двусвязный список сведений о высших учебных заведениях: название, город, количество студентов. Второй указатель указывает на следующий киевский вуз. Напечатать название киевского вуза с наибольшим количеством студентов.
23. Проверить, совпадают ли два двусвязных списка, то есть, состоят ли оба списка из одинаковых элементов.
24. Создать двусвязный список. Подсчитать количество элементов в каждом из его подсписков.
25. Проверить, совпадают ли подсписки двусвязного списка.
26. Осуществить реализацию динамического массива на базе двусвязного списка.
27. Проверить, используя двусвязный список, является ли заданный текст палиндромом.
28. Задать десять целых чисел. Записать их в двусвязный список, первый указатель которого указывает на следующее целое число, второй - на следующее положительной число. Добавить в список число «2».
29. Построить двусвязный список сведений о товарах: название, цена, размер. Второй указатель списка указывает на следующий товар с ценой, меньшей 10 у.е.
-
если в списке есть костюм 40-ого размера с ценой 50 у.е., то перед этим товаром в списке вставить платье 34 размера ценой 40 у.е.;
-
если в списке есть туфли 36-ого размера с ценой 5 у.е., то перед этим товаром вставить чулки 8 размера ценой 4 у.е.
30. Построить двусвязный список сведений о компьютерах: название, цена, размер оперативной памяти, быстродействие. Второй указатель списка указывает на следующий компьютер с ценой, большей 1000 у.е. Если в списке встречаются подряд два элемента с одинаковым объемом оперативной памяти, то удалить первый из этих элементов.
31. Построить двусвязный список сведений о продуктах: название, цена, место изготовления. Второй указатель указывает на следующий ростовский продукт. Если в списке встретились продукты «полтавская колбаса по 34 грн.» и «полтавское молоко по 5 грн.», то поменять эти товары местами в списке.
32. Построить двусвязный список сведений о городах: название, численность населения, страна. Второй указатель указывает на следующий город Украины. Добавить в список город Харьков с миллионом жителей.
33. Построить двусвязный список сведений о животных: название, количество, место обитания. Второй указатель указывает на следующее животное из Африки, Удалить из списка всех животных из Африки, которых осталось от 10 до 100 экземпляров.
34. Построить двусвязный список сведений о собаках: название породы, возраст, пол. Второй указатель указывает на следующую собаку возрастом от года до двух. Добавить в список бульдога 5-ти лет, кобеля.
35. Построить двусвязный список сведений о реках: название, протяженность, месторасположение. Второй указатель указывает на следующую реку с протяженностью более 100 км. Удалить из списка все реки Полтавской области.
36. Построить двусвязный список сведений о странах: название, численность населения. Второй указатель указывает на следующую страну с численностью населения меньше, чем миллион жителей. Добавить в список Монако, 50 тысяч жителей.
37. Задать текст в виде строкового массива. Признак конца текста - точка, одно слово от другого отделяется пробелом. Поместить текст в двусвязный список, элементами которого являются слова, первый указатель списка указывает на очередное слово, второй - на очередное слово четной длины. Распечатать все слова нечетной длины.
38. Построить двусвязный список одномерных массивов, первый указатель которого указывает на следующий массив, второй – на следующий массив, сумма элементов которого больше 100. Удалить из списка все массивы с суммой элементов, равной 177.
39. Построить двусвязный список символов, первый указатель которого указывает на следующий символ, второй – на следующий символ, не являющийся буквой. Если в списке есть подряд две буквы «А», то между ними вставить букву «Б».
40. Построить двусвязный список вещественных чисел, второй указатель которого указывает на следующее вещественное число, сумма цифр которого равна 10. Удалить из списка числа, сумма цифр которых равна 5.
41. Построить двусвязный список, распечатать все его элементы, входящие в один подсписок, и не входящие в другой.
42. Даны два односвязных списка. Построить двусвязный список, состоящий из всех элементов обоих односвязных списков, в котором второй указатель указывает на следующий элемент, входящий в оба односвязных списка. Распечатать все элементы второго подсписка.