kuvshinovdr / OGxx

Object-oriented graph algorithm library in C++ developed for educational purposes.
MIT License
1 stars 1 forks source link

Index_set_sortedvector #18

Closed kuvshinovdr closed 11 months ago

kuvshinovdr commented 1 year ago

Обновить свою ветку по main. Создать файл source/index_set_sortedvector.cpp. В нём определить класс ogxx::Index_set_sortedvector: public ogxx::Index_set, ogxx::Indexed_iterable\<Scalar_index>. Реализовать интерфейс множества на основе упорядоченного vector\<Scalar_index> (поиск за логарифмическое время). Для реализации итератора использовать source/stl_iterator.hpp.

Близкие задачи у Александра Кайгородова и Ивана Мартынова.

NasonenkoID commented 1 year ago

Дмитрий Рустамович, здравствуйте! Неделю назад выполнил задание, но забыл вас оповестить. Извините!

NasonenkoID commented 1 year ago

В своей ветке добавил необходимый файл, он в папке source.

kuvshinovdr commented 1 year ago

Переименуйте, пожалуйста, index_set_sortedvector.cpp. в index_set_sortedvector.cpp, там лишняя точка в конце. Из-за этого у меня эта ветка даже не открывается -- только через браузер могу смотреть.

NasonenkoID commented 1 year ago

Переименовал файл.

kuvshinovdr commented 1 year ago

Я внёс правки в файл (надо загрузить).

  1. Добавьте документирующий комментарий в начале файла (по аналогии с прочими файлами в проекте).
  2. Не забывайте инклюды (добавлены мной).
  3. Методы должны соответствовать реализуемым интерфейсам.
NasonenkoID commented 12 months ago

Дмитрий Рустамович, я постарался исправить код. Посмотрите, пожалуйста!

NasonenkoID commented 11 months ago

Дмитрий Рустамович, здравствуйте! Вы видели мой комментарий? Боюсь, что вы могли его пропустить.

kuvshinovdr commented 11 months ago

Да, пропустил. Просмотрел, внёс правки и запушил в вашу ветку. Можете написать тест на него?

NasonenkoID commented 11 months ago

Не совсем понимаю, что именно нужно протестировать. Можете разъяснить, пожалуйста?

kuvshinovdr commented 11 months ago

Создать отдельный файл в tests (по аналогии с другими файлами там), в котором написать сценарий тестирования: создать внутри объект Index_set_sortedvector, как-то заполнить его и проверить, что он ведёт себя так, как задумано. Обновите локальную копию своей ветки: я обновил её в репозитории до текущего уровня main.

kuvshinovdr commented 11 months ago

Добавил тест в tests/index_set_sortedvector.cpp, взгляните. Добавьте ещё один TEST_CASE с чем-то похожим, но созданием объекта Index_set_sortedvector (как Index_set) с помощью new_index_set_sortedvector (эти функции объявлены в st_set.hpp, а определены в source/index_set_sortedvector.cpp) от итератора (объекта Index_iterator_uptr, его можно создать, например, из массива с помощью new_stl_iterator, как это сделано в первом, уже готовом, TEST_CASE'е).

kuvshinovdr commented 11 months ago

Внёс изменения в конструкцию index_set_sortedvector.cpp, интерфейсная часть отделена в .hpp файл (в source).

NasonenkoID commented 11 months ago

Здравствуйте, Дмитрий Рустамович! Я добавил еще один TEST_CASE в tests/index_set_sortedvector.cpp.

kuvshinovdr commented 11 months ago

Добрый день! (В принципе, в таких обсуждениях не принято писать приветствия 🙂) Да, вижу. Внёс некоторые исправления, чтобы компилировалось (добавил в вашу ветку). Код добавлен в main, задание выполнено.