
- •1.Фундаментальные типы данных. Структуры
- •Демонстрационный пример
- •1.2. Задачи для самостоятельного решения
- •Фундаментальные типы данных. Объединения
- •2.1. Демонстрационный пример
- •А.Пуанкаре Приведем пример использования объединения: составить программу, выполняющую требуемые операции для заданной фигуры.
- •2.2. Задачи для самостоятельного решения
- •3.Ссылочные типы
- •3.1. Указатели и адреса
- •3.2. Адресная арифметика
- •3.3. Операции new и delete
- •3.4. Демонстрационные примеры Чтение и переработка являются ключевыми в программировании. Б.Керниган, ф.Плоджер
- •3.5. Задачи для самостоятельного решения
- •3.4. Дано описание переменных: int *p,*q; char *r;. Какие из следующих операторов неправильны и почему?
- •4. Линейные однонаправленные списки
- •4.1. Задачи для самостоятельного решения
- •Г.Остер. Задачник
- •Построение
- •Модификация
- •Предикаты
- •Подсчет
- •5. Ортогональные списочные структуры ("гирлянды" и "висюльки")
- •5.1. Фрагмент теории
- •5.2. Задачи для самостоятельного решения
- •6. Кольцевые списки на базе однонаправленных списков
- •6.1. Фрагмент теории
- •6.2.Задачи для самостоятельного решения
Модификация
4.12. Разработать функцию для включения данного линейного списка в начало другого линейного списка.
4.13. Разработать функцию для включения данного линейного списка в конец другого линейного списка.
4.14. Разработать функцию для включения данного линейного списка в "середину" другого линейного списка.
4.15. Предположим, что уже построен и задан указателем P однонаправленный список, элементами которого являются символы. Написать программу, которая заменяет в списке P все вхождения элемента Е1 на элемент Е2.
4.16. Предположим, что уже построен и задан указателем P однонаправленный список, элементами которого являются символы. Написать программу, которая меняет местами первый и последний элементы непустого списка P.
4.17. Предположим, что уже построен и задан указателем P однонаправленный список, элементами которого являются целые числа. Написать программу, которая позволит вставить новый элемент в начало списка P.
4.18. Предположим, что уже построен и задан указателем P однонаправленный список, элементами которого являются целые числа. Написать программу, которая в конец списка P вставляет новый элемент.
4.19. Предположим, что уже построены и заданы указателями L и E однонаправленные списки, элементами которых являются целые числа. Написать программу, которая в непустой список L, элементы которого упорядочены по неубыванию, вставляет новый элемент E так, чтобы сохранилась упорядоченность.
4.20. Предположим, что уже построен и задан указателем P однонаправленный список, элементами которого являются целые числа. Написать программу, которая должна из непустого списка P удалить первый элемент, являющийся простым числом.
4.21. Предположим, что уже построен и задан указателем P однонаправленный список, элементами которого являются целые числа. Написать программу, которая из списка P удаляет второй четный элемент, если такой есть.
4.22. Предположим, что уже построен и задан указателем P однонаправленный список, элементами которого являются целые числа. Написать программу, которая из списка P удаляет первый отрицательный элемент, если он есть.
4.23. Предположим, что уже построен и задан указателем P однонаправленный список, элементами которого являются целые числа. Написать программу, которая удаляет из списка P все отрицательные элементы.
4.24. Предположим, что уже построен и задан указателем P однонаправленный список, элементами которого являются целые числа. Написать программу, которая должна перенести в конец непустого списка его первый элемент.
4.25. Предположим, что уже построен и задан указателем P однонаправленный список, элементами которого являются целые числа. Написать программу, которая должна перенести в начало непустого списка его последний элемент.
4.26. Предположим, что уже построен и задан указателем P однонаправленный список, элементами которого являются целые числа. Написать программу, которая из списка P удаляет все вхождения элемента E.
4.27*. Написать функцию поиска элемента с заданным информационным полем в упорядоченном однонаправленном линейном списке следующим образом. Для текста программ характерно частое скопление одного и того же идентификатора, то есть за одним вхождением часто следует одно или более повторных вхождений того же слова. Это наводит на мысль реорганизовать список после каждого обращения, переставляя найденное слово в начало списка, тем самым минимизируя длину прохода по списку при последующем поиске того же слова. Этот метод называется поиском по списку с переупорядочиванием.
4.28*. Рассмотрим пары целых чисел (i,j). Говорят, что пара (i,j) меньше, чем другая пара (h,k) (записывается (i,j)<(h,k)), если либо i<h, либо i=h и j<k. Например, (-1,5)<(5,1)<(5,2). Такой порядок называется лексикографическим упорядочением пар целых чисел. Дан линейный однонаправленный список, содержащий пары целых чисел. Упорядочить его лексикографически по возрастанию пар.