Задания для самостоятельного выполнения
Склонируйте этот репозиторий и вот этот репозиторий.
- Напишите код, который проходит тесты из репозитория - это базовый вариант.
- На его основе напишите тесты для своего варианта списков.
- Напишите код, проходящий ваши тесты.
- Имея отлаженный код списков, проходящий все тесты, используйте его для решения задачи по своему варианту.
В итоге у вас должны быть следующие части практики:
- Код, проходящий тесты из репозитория.
- Тесты для своего варианта списков:
- на Python,
- на С (неинтрузивный вариант),
- на С (интрузивный вариант).
- Код своего варианта списков.
- Решение задачи во варианту.
Варианты заданий
- Двусвязный список. Узел списка — информация о студенте: фамилия, год рождения, год поступления, оценки по предметам. Студентов, поступивших в нечетном году, занести в другой список (с удалением из первого).
- Очередь в магазине. Узел очереди: номер, индикатор — является ли человек в очереди ветераном. Переставить ветеранов в начало очереди, сохраняя их порядок.
- Кольцевой список. Узел - данные об академиках. Сформировать списки с физиками и математиками, упорядоченные по дате избрания в АН.
- Двусвязный кольцевой список. Узел — информация о лётчиках: имя, год рождения, звание, число полетов, число побед, статус (служит, в отставке, погиб в бою, пропал без вести). Получить список лётчиков в отставке.
- Хоккейные команды. Два стека: ВХЛ и КХЛ. Запись о команде: название и число набранных очков. 4 лучшие команды ВХЛ перевести в КХЛ, 4 худшие команды КХЛ перевести в ВХЛ (сортировка стека).
- Дек сотрудников предприятия. Данные: ФИО, пол, возраст, должность, стаж. Разделить мужчин и женщин на два дека и распечатать их.
- Магазин. Список с товарами (название, категория, цена). Очередь покупателей (покупаемые товары, количество товара). Список с товарами редактируется по мере обслуживания очереди, покупатели, совершившие покупки - удаляются.
- Двусвязный список чёрных дыр. Разделить на три новых списка (квазары, блазары, и нет данных), упорядоченных по массе.
- Кольцевой список дистрибутивов Linux. Извлечь и содать 3 новых списка, упорядоченных по дате появления дистрибутива: Debian-based, Arch-based и Gentoo-based.
- Двусвязный кольцевой список морских портов. Разбить на несколько списков по бассейнам, упорядочив по пропускной способности.
- Реализовать выполнение арифметических операций с помощью стека и обратной польской записи.
- Дек экзопланет. Упорядочить планеты по расстоянию от Солнца и температуре поверхности.