Skip to content

Commit 37b7384

Browse files
Mortalitedmortal
authored and
dmortal
committed
feat: add README.md and subject.md
1 parent f6e0174 commit 37b7384

File tree

2 files changed

+71
-0
lines changed

2 files changed

+71
-0
lines changed

README.md

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#### ft_containers
2+
3+
​ Для основной части задания было необходимо реализовать основные контейнеры библиотеки STL языка C++ и тесты к ним (см. [Containers - C++ Reference (cplusplus.com)](https://www.cplusplus.com/reference/stl/)):
4+
5+
* List
6+
7+
* Vector
8+
9+
* Map
10+
11+
* Stack
12+
13+
* Queue
14+
15+
Дополнительно были воссозданы контейнеры из бонусной части и протестированы тестами:
16+
17+
* Set
18+
19+
* Multiset
20+
21+
* Multimap
22+
23+
**Для ассоциативных контейнеров (Map, Multimap) в качестве структуры данных использовались бинарные деревья, в стандартных реализациях обычно используют красно-чёрные деревья.**
24+
25+
**Проект был проверен программой valgrind на отсутствие утечек.**

subject.md

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
## Глава 1
2+
3+
### Общие правила
4+
5+
* Любые функции реализованные в заголовочных файлах(за исключением случаев с шаблонами) и любые незащищенные заголовочные файлы, означают 0 оценку.
6+
7+
* Только C++, никакого C.
8+
9+
Следовательно:
10+
11+
* следующие функции ЗАПРЕЩЕНЫ, и их использование будет расцениваться как 0: `*alloc,printf,free`
12+
* Разрешено использовать всё из стандартной библиотеки. ОДНАКО, было бы разумно попробовать использовать версии C++ функций, а не C.
13+
* Поскольку ваша цель напистать часть библиотеки STL, вы, конечно, не можете использовать сами контейнеры.
14+
15+
* На самом деле, использование любой явно запрещенной функции или механики будет наказываться 0.
16+
* Файлы, связанные с классом, всегда будут ClassName.hpp и ClassName.cpp, если не указано иное.
17+
* Поскольку вам разрешено использовать инструменты C++, о которых вы узнали с самого начала, вы не можете использовать какую-либо внешнюю библиотеку. И прежде чем вы спросите, это также означает, что нельзя использовать C++11 и производные, ни Boost или что-нибудь такое.
18+
* Компилятор clang++.
19+
* Флаги компиляции: -Wall -Wextra -Werror -std=c++98
20+
21+
<hr>
22+
23+
## Глава 2
24+
25+
### Обязательная часть
26+
27+
Вы должны реализовать следующие контейнеры и связанные с ними функции, к тому же надо написать тесты для сравнения с оригинальнами контейнерами из библиотеки STL:
28+
29+
* List
30+
* Vector
31+
* Map
32+
* Stack
33+
* Queue
34+
35+
<hr>
36+
37+
## Глава 3
38+
39+
### Бонусная часть
40+
41+
В качестве бонуса вы можете реализовать следующие контейнеры и связанные с ними функции, а так же тесты:
42+
43+
* Deque
44+
* Set
45+
* Multiset
46+
* Multimap

0 commit comments

Comments
 (0)