JavaRush
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема

Лекции

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Мое обучение
  • Курсы
  • Университет
  • Карта квестов
  • Лекции
  • Удаление при обходе контейнера

    C++ SELF
    59 уровень,0 лекция
    Разбираем, почему удаление элементов «на ходу» часто ломает обход контейнера, как появляются пропуски и невалидные итераторы, и какой безопасный шаблон использовать в C++: it = c. erase( it). Сравним этот подход с массовой фильтрацией через std::erase_if/erase-remove, посмотрим применимость для std::vector, std::list, std::map, std::set, и закрепим всё на примерах из мини-приложения TaskBook.
    Открыта
  • std::vector, std::deque, std::list

    C++ SELF
    59 уровень,1 лекция
    Разбираем три последовательных контейнера C++: std::vector, std::deque и std::list. Сравним их по ключевым операциям (индексация, обход, вставки/удаления, работа с двумя концами через push_front/ push_back) и научимся выбирать контейнер под профиль операций, а не «по ощущению».
    Открыта
  • Инвалидация итераторов

    C++ SELF
    59 уровень,2 лекция
    Разбираем, что такое инвалидация итераторов/ссылок/указателей в C++ и почему контейнеры STL «ломают» привязки после модификаций. На практике сравним поведение std::vector, std::deque и std::list, обсудим влияние переразмещения памяти, сдвигов элементов и удаления узлов, а также закрепим безопасные паттерны вроде it = erase(it), предварительного reserve() и хранения стабильного id вместо «долгоживущего» итератора.
    Открыта
  • Контейнерные адаптеры std::stack, std::queue, std::priority_queue

    C++ SELF
    59 уровень,3 лекция
    Разбираем, зачем в C++ нужны контейнерные адаптеры и чем они отличаются от «просто контейнеров»: как std::stack задаёт модель LIFO, std::queue — FIFO, а std::priority_queue всегда отдаёт «лучший» элемент по компаратору. Закрепляем интерфейсами push(), top()/ front(), pop(), безопасной проверкой через empty(), а также смотрим, как менять правило приоритета через std::greater<T> и собственный компаратор.
    Открыта
  • Вспоминаем Big‑O

    C++ SELF
    59 уровень,4 лекция
    Разбираем Big‑O как «компас» производительности: что такое размер входа N, почему в оценках игнорируют константы, и как стоимость операций отличается даже внутри одного контейнера (например, std::vector: доступ v [ i ] против вставки через insert). Сравниваем vector/ deque/ list, обсуждаем вставку и удаление, адаптеры ( stack, queue, priority_queue) и типичные ошибки при оценке сложности сценариев.
    Открыта
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush