-
Notifications
You must be signed in to change notification settings - Fork 0
/
task.txt
48 lines (39 loc) · 2.5 KB
/
task.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Семинар 1. Реализация алгоритмов сортировки и покрытие их тестами на C++.
1. Реализовать следующие алгоритмы сортировки:
- Сортировка вставками (Insertion Sort)
- Сортировка выбором (Selection Sort)
- Сортировка обменом (Exchange Sort)
- Сортировка пузырьком (Bubble Sort)
- Сортировка пузырьком с улучшениями (Optimized Bubble Sort).
Каждая сортировка должна быть оформлена в виде отдельной библиотеки.
2. Требования:
- Реализовать каждую сортировку в отдельном .cpp и .h файлах.
- Использовать шаблоны для поддержки различных типов данных (например, int, double).
3. Написать unit тесты:
- Для каждой сортировки создать минимум по 3 теста.
- Покрыть как положительные, так и граничные случаи (например, пустой массив, массив с одним элементом, уже отсортированный массив, массив в обратном порядке).
- Использовать библиотеку для тестирования (например, Google Test, Catch2).
Пример подключения тестов к проекту можно найти в описании к 5 лабе.
4. Рекомендуемая структура проекта:
sorting/
- include/
- insertion_sort.h
- selection_sort.h
- exchange_sort.h
- bubble_sort.h
- optimized_bubble_sort.h
- src/
- insertion_sort.cpp
- selection_sort.cpp
- exchange_sort.cpp
- bubble_sort.cpp
- optimized_bubble_sort.cpp
tests/
- test_insertion_sort.cpp
- test_selection_sort.cpp
- test_exchange_sort.cpp
- test_bubble_sort.cpp
- test_optimized_bubble_sort.cpp
(В итоге должно получиться два проекта: проект с сортировками и проект с тестами в одном решении)
5. Загрузить решение на GitHub (не забываем добавлять файлик gitignore, чтоб лишний "мусор" не тянулся).
Срок выполнения задания: 2 недели.