Зайти в репозиторий Algorithms и сделать fork - собственную копию.
Затем скачать копию себе на компьютер и скомпилировать. Для сборки нужно иметь установленный cmake, он поддерживает как работу с Visual Studio, так и с компиляторами gcc и clang.
git clone https://github.com/<логин>/Algorithms
cd Algorithms
mkdir build
cd build
cmake ..
make
-
Решения отправляются с помощью Pull request
-
Должны проходить все релевантные тесты (проверяйте отчёт о тестировании при создании pull request)
-
Размер вектора должен домножаться на константу в случае его переполнения
-
Стек и очередь не должны ограничивать число сохраняемых значений
-
Дополнительные требования указаны в комментариях к заголовкам функций
Файлы CMakeLists.txt описывают состав проекта и правила его сборки с помощью утилиты cmake. В них можно создавать подключаемые библиотеки, исполняемые файлы и тесты.
Основное, что компилируется - это исполняемые файлы. Их сборка описывается с помощью директивы add_executable.
Библиотеки уже описаны в каталогах Library*:
add_library(LibraryC STATIC array.c list.c queue.c stack.c vector.c)
add_subdirectory(Tests)
Первая строчка обисывает сборку подключаемой библиотеки LibraryC из соответствующих исходных файлов. Вторая строчка добавляет проекты из подкаталога Tests.
В подкаталоге Tests описаны тесты для базовой проверки работоспособности библиотеки:
add_executable(TestArrayC array.cpp)
target_include_directories(TestArrayC PUBLIC ..)
target_link_libraries(TestArrayC LibraryC)
add_test(TestArrayC TestArrayC)
Директива add_test указывает, какую программу и с какими аргументами запускать в этом тесте. Большинство тестов закомментированы, и по мере расширения библиотеки их нужно включать.
Все тесты запустить можно с помощью команды make test.
Добавить подкаталог и модифицировать основной файл CMakeLists.txt:
add_subdirectory(Lab1C)
В подкаталоге создать исходный файл с решением с CMakeLists.txt для его сборки:
add_executable(Lab1C lab1.c)
target_include_directories(Lab1C PUBLIC ../LibraryC)
target_link_libraries(Lab1C LibraryC)
add_test(NAME TestLab1C COMMAND Lab1C ${CMAKE_CURRENT_SOURCE_DIR}/input.txt)
Во второй и третьей строчках нужно ссылаться на используемый вариант библиотеки.
После этого в нужной библиотеке реализовать требуемый по условию контейнер, чтобы тесты и программа заработали правильно.
Последняя строка добавляет запуск разработанной программы в виде теста. При этом в качестве аргумента ей передаётся файл input.txt, который находится в каталоге с исходным кодом.
Проверить тесты локально можно с помощью команды ctest или make test, выполненной в подкаталоге build.