{"id":28717419,"url":"https://github.com/avin/coding-algo-cheatsheets-cpp","last_synced_at":"2025-09-12T18:43:12.496Z","repository":{"id":296743539,"uuid":"994329855","full_name":"avin/coding-algo-cheatsheets-cpp","owner":"avin","description":"Все самые нужные функции и методы для программирования на C++","archived":false,"fork":false,"pushed_at":"2025-06-01T19:10:50.000Z","size":42,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-02T04:41:13.104Z","etag":null,"topics":["cheatsheet","cpp","cpp20","interview","leetcode","snippets"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/avin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-01T17:55:17.000Z","updated_at":"2025-06-01T19:10:54.000Z","dependencies_parsed_at":"2025-06-02T04:41:15.288Z","dependency_job_id":"b26112aa-85a0-4f87-bb99-b5383ed961c9","html_url":"https://github.com/avin/coding-algo-cheatsheets-cpp","commit_stats":null,"previous_names":["avin/coding-algo-cheatsheets-cpp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/avin/coding-algo-cheatsheets-cpp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avin%2Fcoding-algo-cheatsheets-cpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avin%2Fcoding-algo-cheatsheets-cpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avin%2Fcoding-algo-cheatsheets-cpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avin%2Fcoding-algo-cheatsheets-cpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/avin","download_url":"https://codeload.github.com/avin/coding-algo-cheatsheets-cpp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avin%2Fcoding-algo-cheatsheets-cpp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259914924,"owners_count":22931334,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cheatsheet","cpp","cpp20","interview","leetcode","snippets"],"created_at":"2025-06-15T03:15:39.140Z","updated_at":"2025-06-15T03:15:40.003Z","avatar_url":"https://github.com/avin.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Коллекция полезных приёмов и шаблонов (C++20)\n\nВсе самые нужные функции и методы для решения задач по программированию.\n\nЕсть также аналогичные [шпаргалки для JS](https://github.com/avin/coding-algo-cheatsheets-js).\n\n### 🔢 [Работа с векторами / списками](./array.cpp)\n\n* 📌  **Создание вектора, резервирование памяти (`std::vector`)**\n* 📌  **Итерирование по вектору**\n* 📌  **Фильтрация элементов**\n* 📌  **Поиск элемента / условия (`std::any_of`, `std::all_of`, `std::find`)**\n* 📌  **Map-преобразование (`std::transform`)**\n* 📌  **Reduce / fold (`std::accumulate`)**\n* 📌  **Сортировка (`std::sort`)**\n* 📌  **Поиск минимума / максимум (`std::min_element`, `std::max_element`)**\n* 📌  **Подсчёт количества элементов (`size`)**\n* 📌  **Срезы (`subvector`)**\n* 📌  **Объединение векторов**\n* 📌  **Разворот вектора (`std::reverse`)**\n* 📌  **Удаление элементов по индексу (иммутабельно)**\n* 📌  **Добавление элементов**\n* 📌  **Проверка на пустоту (`empty`)**\n* 📌  **Дедупликация (`std::unordered_set`)**\n* 📌  **Разделение по условию (`std::partition`)**\n* 📌  **Генерация последовательных значений (`std::iota`)**\n* 📌  **Удаление элементов по условию (`std::remove_if`)**\n* 📌  **Произвольное накопление (`std::accumulate` с лямбдами)**\n\n***\n\n### 🔤 [Работа со строками](./strings.cpp)\n\n* 📌  **Преобразование строки в вектор символов и обратно**\n* 📌  **Поиск подстроки**\n* 📌  **Сравнение строк**\n* 📌  **Слияние строк**\n* 📌  **Удаление символов**\n* 📌  **Замена символов / подстрок**\n* 📌  **Регулярные выражения (`\u003cregex\u003e`)**\n\n***\n\n### 🔧 [Работа с множествами и словарями](./set_map.cpp)\n\n* 📌  **Создание `std::set` / `std::unordered_set`**\n* 📌  **Создание `std::map` / `std::unordered_map`**\n* 📌  **Добавление / удаление элементов**\n* 📌  **Проверка наличия элемента / ключа**\n* 📌  **Итерирование по `std::set` / `std::map`**\n* 📌  **Счётчик частот (`std::unordered_map`) и сортировка по значению**\n* 📌  **Объединение / пересечение / разность множеств (`std::set`)**\n\n***\n\n### 🗄️ [Работа со структурами и картами](./objects.cpp)\n\n* 📌  **Создание структуры и доступ к полям**\n* 📌  **Деструктуризация (структурированные привязки)**\n* 📌  **Итерирование по `std::map`**\n* 📌  **Объединение / копирование `std::map`**\n* 📌  **Проверка наличия ключа в `std::map`**\n\n***\n\n### 📦 [Алгоритмы и структуры данных](./algos.cpp)\n\n* 📌  **Очередь (FIFO)**\n* 📌  **Стек (LIFO)**\n* 📌  **Двусторонняя очередь (`deque`)**\n* 📌  **Односвязный список (`std::forward_list`)**\n* 📌  **Двусвязный список (`std::list`)**\n* 📌  **Множество (`std::set`, `std::unordered_set`)**\n* 📌  **Словарь / хэш-таблица (`std::map`, `std::unordered_map`)**\n* 📌  **Куча (`std::make_heap` / `std::push_heap` / `std::pop_heap`, `std::priority_queue`)**\n* 📌  **Бинарный поиск (`std::binary_search`, `std::lower_bound`)**\n* 📌  **Обход графа (`DFS`, `BFS`) используя список смежности**\n* 📌  **Рекурсивный `DFS`**\n* 📌  **Сортировка с пользовательским компаратором (`std::sort`)**\n* 📌  **Разворот, циклический сдвиг и удаление дубликатов (`std::reverse`, `std::rotate`, `std::unique`)**\n\n***\n\n### 🔁 [Циклы и условия](./loops.cpp)\n\n* 📌  **Цикл `for`**\n* 📌  **Цикл `while`**\n* 📌  **Цикл `do...while`**\n* 📌  **`forEach` с индексом (эмуляция)**\n* 📌  **Условные операторы (`if`, `else`, `switch`)**\n* 📌  **Операторы `continue` / `break`**\n* 📌  **Множественные условия (`\u0026\u0026`, `||`)**\n* 📌  **Тернарный оператор (`?:`)**\n\n***\n\n### 🧮 [Математические утилиты](./math.cpp)\n\n* 📌  **Наибольший общий делитель (НОД) (`std::gcd`)**\n* 📌  **Наименьшее общее кратное (НОК) (`std::lcm`)**\n* 📌  **Проверка на простое число**\n* 📌  **Генерация простых чис (решето Эратосфена)**\n* 📌  **Модульное возведение в степень (fast exponentiation)**\n* 📌  **Факториал и комбинаторные формулы (`C(n, k)`)**\n* 📌  **Возведение в степень (`std::pow`)**\n\n***\n\n### 🔢 [Работа с числами и диапазонами](./numbers.cpp)\n\n* 📌  **Округление (`std::round`, `std::ceil`, `std::floor`)**\n* 📌  **Целочисленное деление / остаток (`/`, `%`)**\n* 📌  **Работа со знаками и модулем (`std::abs`)**\n* 📌  **Генерация диапазона чисел**\n* 📌  **Преобразование типов (`std::stoi`, `std::to_string`)**\n\n***\n\n### ⛓ [Рекурсия и стек](./recursion.cpp)\n\n* 📌  **Базовая рекурсия**\n* 📌  **Итерация через стек (`DFS`) для бинарного дерева**\n* 📌  **Хвостовая рекурсия (`tail recursion`)**\n\n***\n\n### 🔢 [Комбинаторика и генерация](./combinatorics.cpp)\n\n* 📌  **Генерация всех подмножеств (`power set`)**\n* 📌  **Генерация всех перестановок (`permutations`)**\n* 📌  **Генерация всех комбинаций (`combinations`)**\n* 📌  **Генерация всех парных сочетаний (`allPairs`)**\n\n***\n\n### 🛠️ [Полезные утилиты](./utilities.cpp)\n\n* 📌  **Обработка исключений**\n* 📌  **Работа с файлами (`ifstream`, `ofstream`)**\n* 📌  **Умные указатели (`std::unique_ptr`, `std::shared_ptr`, `std::weak_ptr`)**\n* 📌  **Лямбда-выражения**\n* 📌  **Многопоточность (`std::thread`, `std::mutex`)**\n* 📌  **`std::optional` и `std::variant`**\n* 📌  **Работа с файловой системой (`std::filesystem`)**\n* 📌  **Чтение аргументов командной строки**\n\n***\n\n### 🖨 [Форматирование и отладка](./log.cpp)\n\n* 📌  **Вывод данных (`std::cout`)**\n* 📌  **Форматирование вывода**\n* 📌  **Измерение времени выполнения (`std::chrono`)**\n* 📌  **Отладочные принты**\n* 📌  **Тестовые данные и генерация input’ов (`\u003crandom\u003e`)**\n\n***\n\n### 🧵 [Многопоточность и синхронизация](./threads.cpp)\n\n* 📌  **Создание потоков (`std::thread`)**\n* 📌  **Присоединение и отсоединение потоков (`join`, `detach`)**\n* 📌  **Мьютекс и `std::lock_guard`**\n* 📌  **`std::unique_lock` и `std::condition_variable`**\n* 📌  **Атомарные переменные (`std::atomic`)**\n* 📌  **Асинхронные задачи (`std::async`, `std::future`)**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favin%2Fcoding-algo-cheatsheets-cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favin%2Fcoding-algo-cheatsheets-cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favin%2Fcoding-algo-cheatsheets-cpp/lists"}