Лабораторная работа 9

advertisement
Лабораторная работа 9 «Однонаправленные списки»
Задание. Решить задачу, выполняя следующие требования:
1. Оформить в виде отдельных процедур операции над списками: 1) формирование
списка из файла; 2) обработка списка 3) вывод списка;
2. В спецификации отразить структуру списка.
1. Удалить из однонаправленного списка m элементов, начиная с n-го элемента.
2. Образовать два списка из элементов массива A1,…,AN. В один список включить элементы,
для которых удовлетворяется условие Ai = (Ai-1+Ai+1)/2, в другой список – все остальные.
3. Элемент однонаправленного списка включает фамилию студента и его экзаменационные
оценки. Сформировать массив из фамилий студентов, успешно сдавших сессию.
4. Из списка, элементы которого содержат упорядоченные целые числа, сформировать
однонаправленный список, исключив повторное вхождение одного и того же числа.
5. Задан список предприятий, расположенных в порядке убывания стоимости продукции.
Пополнить из файла этот список, не нарушая упорядоченности списка.
6. Из однонаправленного списка, упорядоченного по возрастанию ключа Z, исключить
элементы, для которых
A < Z < B.
7. Из однонаправленного списка исключить последние m элементов. Оформить в виде
процедуры.
8. Из двумерного массива А(m,6) сформировать однонаправленный список, i-й элемент
которого содержит все элементы i-й строки матрицы А.
9. После элемента списка Р1 с ключом Х, равным заданному А, вставить список Р2.
10. Список заявок на установку телефонов содержит номер заявки и адрес абонента. Выдать
номера телефонов из массива N1,…,Nk k абонентам, выделив их в отдельный список.
11. Разделить однонаправленный список целых чисел на однонаправленные списки четных и
нечетных чисел, изменяя только указатели.
12. Составить процедуру, которая определяет массив номеров однонаправленного списка,
элементы которого содержат величины value1 и value2, удовлетворяющие условиям
value1=Q, value2=P.
13. Составить процедуру формирования массива из номеров элементов списка со значениями
признаков Р1 >Р2 и определения количества таких элементов
14. Элемент однонаправленного списка включает ФИО студента и его экзаменационные
оценки. Сформировать новый список из ФИО студентов, сдавших успешно все экзамены.
15. Сдается новый дом с n однокомнатными и m двухкомнатными квартирами. Элемент
списка содержит ФИО очередников и требуемое количество комнат. Напечатать ФИО
очередников, получивших квартиру и исключить их из списка.
16. Добавить в начало однонаправленного списка m новых элементов из массива.
17. Из двунаправленного списка, элементы которого имеют поле V, удалить все элементы, для
которых удовлетворяется условие:
C < V < D.
18. В однонаправленном списке поменять местами первые и последние n элементов списка.
19. Элементами однонаправленного списка являются слова переменной длины, не
превышающие 10 символов. Подсчитать, сколько в списке слов, состоящих из двух, трех, и т.д.
символов.
20. Из однонаправленного списка сформировать двунаправленный.
21. Из однонаправленного списка создать двунаправленный список, включив в каждый
элемент номер этого элемента.
22. Однонаправленный список упорядочить по возрастанию ключа Р.
23. Задано два однонаправленных списка, упорядоченных по ключу B. Произвести слияния
этих списков в один, сохранив упорядоченность элементов по ключу В.
24. Элементы однонаправленного списка содержат слова, не превышающие 20 символов.
Концом слова является пробел. В каждый элемент добавить информацию о длине слова.
Download