Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИДЗ_1 Линейные_структуры_данных.doc
Скачиваний:
28
Добавлен:
30.04.2015
Размер:
91.65 Кб
Скачать

Домашнее задание № 1 Линейные структуры данных

Цель работы – познакомиться с динамическими структурами данных, научиться создавать абстрактные типы данных, используя понятия списка, стека, очереди и дека.

Постановка задачи

Написать программы согласно номеру индивидуального варианта. В первом задании данные хранятся в бинарном файле записей, а для обработки считываются в связанный список. При выходе из программы обработанные данные сохраняются в том же файле. Для организации интерфейса должно использоваться меню. Во втором задании требуется реализовать необходимую структуру данных и использовать ее для решения поставленной задачи. Описание структуры данных должно быть в отдельном файле.

Задания могут быть выполнены на трех уровнях сложности.

  1. Низкий. В первом задании имя файла с данными задается константой, список линейный односвязный. Элементами данных должны являться записи с количеством полей не менее трех. Обязательные операции: добавление элемента в начало или конец списка (на выбор), просмотр списка, удаление элемента из начала или конца списка (на выбор).Вывод списка на экран можно выполнять в любом (главное, читабельном) виде. Во втором задании реализовать необходимую для решения задачи структуру данных с помощью одной структуры хранения: векторной или списковой (на выбор). Вместо решения поставленной задачи можно написать программу тестирования созданной структуры данных.

  2. Средний. В первом задании имя файла с данными должно передаваться программе при ее запуске (через параметры функции main()). Если параметры пользователем при запуске программы не заданы, имя файла задается константой. Список линейный односвязный. Элементами данных должны являться записи сложной структуры. Обязательные операции: добавление элемента в произвольное место списка, просмотр списка, удаление произвольного элемента списка. Вывод данных осуществлять в табличном виде с графлением визуально подходящими символами. Во втором задании реализовать необходимую для решения задачи структуру данных с помощью двух структур хранения: векторной и списковой.

  3. Повышенный. В первом задании имя файла с данными должно передаваться программе при ее запуске (через параметры функции main()). Если параметры пользователем при запуске программы не заданы, имя файла вводится с клавиатуры. Список линейный двусвязный. Элементами данных должны являться записи с вариантами. Обязательные операции: добавление элемента в упорядоченный список с сохранением упорядоченности (ключевое поле выбрать самостоятельно), просмотр списка в прямом и обратном направлении, удаление произвольного элемента списка. Вывод данных осуществлять постранично в табличном виде с графлением визуально подходящими символами. Во втором задании реализовать необходимую для решения задачи структуру данных с помощью двух структур хранения: векторной и списковой,– реализацию оформить в виде классов с единым интерфейсом.

Операции над структурами данных Стек

Обязательные: добавление элемента в стек, извлечение элемента из стека. Дополнительные: проверка заполнения стека, проверка пустоты стека, неразрушающее чтение элемента с вершины стека.