https://github.com/avin/coding-algo-cheatsheets-cpp
Все самые нужные функции и методы для программирования на C++
https://github.com/avin/coding-algo-cheatsheets-cpp
cheatsheet cpp cpp20 interview leetcode snippets
Last synced: 3 months ago
JSON representation
Все самые нужные функции и методы для программирования на C++
- Host: GitHub
- URL: https://github.com/avin/coding-algo-cheatsheets-cpp
- Owner: avin
- Created: 2025-06-01T17:55:17.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2025-06-01T19:10:50.000Z (7 months ago)
- Last Synced: 2025-06-02T04:41:13.104Z (7 months ago)
- Topics: cheatsheet, cpp, cpp20, interview, leetcode, snippets
- Language: C++
- Homepage:
- Size: 41 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Коллекция полезных приёмов и шаблонов (C++20)
Все самые нужные функции и методы для решения задач по программированию.
Есть также аналогичные [шпаргалки для JS](https://github.com/avin/coding-algo-cheatsheets-js).
### 🔢 [Работа с векторами / списками](./array.cpp)
* 📌 **Создание вектора, резервирование памяти (`std::vector`)**
* 📌 **Итерирование по вектору**
* 📌 **Фильтрация элементов**
* 📌 **Поиск элемента / условия (`std::any_of`, `std::all_of`, `std::find`)**
* 📌 **Map-преобразование (`std::transform`)**
* 📌 **Reduce / fold (`std::accumulate`)**
* 📌 **Сортировка (`std::sort`)**
* 📌 **Поиск минимума / максимум (`std::min_element`, `std::max_element`)**
* 📌 **Подсчёт количества элементов (`size`)**
* 📌 **Срезы (`subvector`)**
* 📌 **Объединение векторов**
* 📌 **Разворот вектора (`std::reverse`)**
* 📌 **Удаление элементов по индексу (иммутабельно)**
* 📌 **Добавление элементов**
* 📌 **Проверка на пустоту (`empty`)**
* 📌 **Дедупликация (`std::unordered_set`)**
* 📌 **Разделение по условию (`std::partition`)**
* 📌 **Генерация последовательных значений (`std::iota`)**
* 📌 **Удаление элементов по условию (`std::remove_if`)**
* 📌 **Произвольное накопление (`std::accumulate` с лямбдами)**
***
### 🔤 [Работа со строками](./strings.cpp)
* 📌 **Преобразование строки в вектор символов и обратно**
* 📌 **Поиск подстроки**
* 📌 **Сравнение строк**
* 📌 **Слияние строк**
* 📌 **Удаление символов**
* 📌 **Замена символов / подстрок**
* 📌 **Регулярные выражения (``)**
***
### 🔧 [Работа с множествами и словарями](./set_map.cpp)
* 📌 **Создание `std::set` / `std::unordered_set`**
* 📌 **Создание `std::map` / `std::unordered_map`**
* 📌 **Добавление / удаление элементов**
* 📌 **Проверка наличия элемента / ключа**
* 📌 **Итерирование по `std::set` / `std::map`**
* 📌 **Счётчик частот (`std::unordered_map`) и сортировка по значению**
* 📌 **Объединение / пересечение / разность множеств (`std::set`)**
***
### 🗄️ [Работа со структурами и картами](./objects.cpp)
* 📌 **Создание структуры и доступ к полям**
* 📌 **Деструктуризация (структурированные привязки)**
* 📌 **Итерирование по `std::map`**
* 📌 **Объединение / копирование `std::map`**
* 📌 **Проверка наличия ключа в `std::map`**
***
### 📦 [Алгоритмы и структуры данных](./algos.cpp)
* 📌 **Очередь (FIFO)**
* 📌 **Стек (LIFO)**
* 📌 **Двусторонняя очередь (`deque`)**
* 📌 **Односвязный список (`std::forward_list`)**
* 📌 **Двусвязный список (`std::list`)**
* 📌 **Множество (`std::set`, `std::unordered_set`)**
* 📌 **Словарь / хэш-таблица (`std::map`, `std::unordered_map`)**
* 📌 **Куча (`std::make_heap` / `std::push_heap` / `std::pop_heap`, `std::priority_queue`)**
* 📌 **Бинарный поиск (`std::binary_search`, `std::lower_bound`)**
* 📌 **Обход графа (`DFS`, `BFS`) используя список смежности**
* 📌 **Рекурсивный `DFS`**
* 📌 **Сортировка с пользовательским компаратором (`std::sort`)**
* 📌 **Разворот, циклический сдвиг и удаление дубликатов (`std::reverse`, `std::rotate`, `std::unique`)**
***
### 🔁 [Циклы и условия](./loops.cpp)
* 📌 **Цикл `for`**
* 📌 **Цикл `while`**
* 📌 **Цикл `do...while`**
* 📌 **`forEach` с индексом (эмуляция)**
* 📌 **Условные операторы (`if`, `else`, `switch`)**
* 📌 **Операторы `continue` / `break`**
* 📌 **Множественные условия (`&&`, `||`)**
* 📌 **Тернарный оператор (`?:`)**
***
### 🧮 [Математические утилиты](./math.cpp)
* 📌 **Наибольший общий делитель (НОД) (`std::gcd`)**
* 📌 **Наименьшее общее кратное (НОК) (`std::lcm`)**
* 📌 **Проверка на простое число**
* 📌 **Генерация простых чис (решето Эратосфена)**
* 📌 **Модульное возведение в степень (fast exponentiation)**
* 📌 **Факториал и комбинаторные формулы (`C(n, k)`)**
* 📌 **Возведение в степень (`std::pow`)**
***
### 🔢 [Работа с числами и диапазонами](./numbers.cpp)
* 📌 **Округление (`std::round`, `std::ceil`, `std::floor`)**
* 📌 **Целочисленное деление / остаток (`/`, `%`)**
* 📌 **Работа со знаками и модулем (`std::abs`)**
* 📌 **Генерация диапазона чисел**
* 📌 **Преобразование типов (`std::stoi`, `std::to_string`)**
***
### ⛓ [Рекурсия и стек](./recursion.cpp)
* 📌 **Базовая рекурсия**
* 📌 **Итерация через стек (`DFS`) для бинарного дерева**
* 📌 **Хвостовая рекурсия (`tail recursion`)**
***
### 🔢 [Комбинаторика и генерация](./combinatorics.cpp)
* 📌 **Генерация всех подмножеств (`power set`)**
* 📌 **Генерация всех перестановок (`permutations`)**
* 📌 **Генерация всех комбинаций (`combinations`)**
* 📌 **Генерация всех парных сочетаний (`allPairs`)**
***
### 🛠️ [Полезные утилиты](./utilities.cpp)
* 📌 **Обработка исключений**
* 📌 **Работа с файлами (`ifstream`, `ofstream`)**
* 📌 **Умные указатели (`std::unique_ptr`, `std::shared_ptr`, `std::weak_ptr`)**
* 📌 **Лямбда-выражения**
* 📌 **Многопоточность (`std::thread`, `std::mutex`)**
* 📌 **`std::optional` и `std::variant`**
* 📌 **Работа с файловой системой (`std::filesystem`)**
* 📌 **Чтение аргументов командной строки**
***
### 🖨 [Форматирование и отладка](./log.cpp)
* 📌 **Вывод данных (`std::cout`)**
* 📌 **Форматирование вывода**
* 📌 **Измерение времени выполнения (`std::chrono`)**
* 📌 **Отладочные принты**
* 📌 **Тестовые данные и генерация input’ов (``)**
***
### 🧵 [Многопоточность и синхронизация](./threads.cpp)
* 📌 **Создание потоков (`std::thread`)**
* 📌 **Присоединение и отсоединение потоков (`join`, `detach`)**
* 📌 **Мьютекс и `std::lock_guard`**
* 📌 **`std::unique_lock` и `std::condition_variable`**
* 📌 **Атомарные переменные (`std::atomic`)**
* 📌 **Асинхронные задачи (`std::async`, `std::future`)**