D.8. Лабораторная работа № 8
Тема: Ссылки, списки, динамические структуры данных. Цель: Практическая работа на ЭВМ с динамическими структурами данных.
При работе со статическими данными необходимо определить количество компонент (списка, массива), реально существующих в момент начала работы. Добавлять новые компоненты можно только к концу списка, исключать ненужные компоненты неудобно из-за возможности появления свободного пространства в массиве, которые необходимо каким-то образом отмечать. Эти недостатки можно исключить, используя динамические структуры данных. Для выполнения работы необходимо изучить следующие понятия: ссылочный тип, односвязный, двусвязный, кольцевой список.
Варианты заданий 1. Построить односвязный список из входной последовательности чисел и вывести ее в порядке неубывания. 2. Написать программу, которая по списку из входной последовательности чисел строит два новых списка. Первый – из положительных элементов, второй – из остальных элементов исходного списка. 3. Из входной последовательности чисел построить список, в котором необходимо определить номера элементов, содержащих наибольшее значение (номера элементов определяются порядком ввода чисел и появления соответствующих элементов). 4. Построить односвязный список из входной последовательности чисел, затем удалить все отрицательные элементы и подсчитать их количество; вывести на печать количество удаленных элементов и получившийся список. 5. Написать программу, которая удаляет из односвязного списка, содержащего последовательность чисел, первый отрицательный элемент и выводит список на печать. 6. Построить односвязный список из входной последовательности символов, заменить все разделители на знак подчеркивания и вывести полученный текст в прямом и обратном порядке. 7. Составить список из входной последовательности чисел и упорядочить их в порядке неубывания. 8. Написать программу, которая в списке переставляет местами первое и последнее слово.
Построить список символов, содержащий входной текст. Написать программу, которая: 9. Печатает текст из первых букв всех слов списка. 10. Удаляет из слов списка их первые буквы. 11. Печатает все слова списка в столбик. 12. Определяет количество слов, отличных от последнего.
Написать программу, которая удаляет из линейного списка входной последовательности целых чисел:
13. Первый элемент. 14. Элемент, содержащий число, равное числу предыдущего элемента списка. 15. Последний элемент. 16. Первый отрицательный элемент. 17. Все отрицательные элементы, если таковые есть. 18-25. Построить линейный список и решить задачу, используя условие задачи, приведенное в лабораторной работе № 7.
|