Информатика • 11 класс
1

Связные списки (C++)

  • Связный список структура данных, состоящая из последовательности элементов, где каждый узел хранит:
    • данные (значение);
    • указатель (ссылку) на следующий узел в списке.
  • Элементы располагаются в динамической памяти (куче), а не в непрерывной области памяти, как в массиве.
  • Реализуется с помощью структуры (struct).
    struct Node { int data; // Полезные данные
    (может быть любой тип)
    Node* next; // Указатель на следующий узел
    // Конструктор для удобства инициализации
    Node (int value) : data (value), next (nullptr) {}
  • Основные виды связных списков:
    • односвязный список: узел содержит указатель только на следующий элемент. Обход только в одну сторону;
    • двусвязный список: узел содержит указатели и на следующий, и на предыдущий элемент. Удобнее для удаления и обхода назад, но требует больше памяти:
      struct DNode { 
      int data; DNode* next;
      DNode* prev;
      Dnode (int value) : data (value), next (nullptr),
      prev (nullptr) {} };
    • кольцевой список: «хвост» списка указывает на его «голову», образуя кольцо.
  • Самое важное преимущество перед массивами: эффективная вставка/удаление. Не требует сдвига всех последующих элементов, как в массиве.
Было полезно?

Рекомендуем

Вы учитель или ученик?
Познакомьтесь с нашим образовательным онлайн-сервисом с тысячами интерактивных работ
Учителю
Удобно проводить уроки в классе, назначать работы на дом и анализировать результаты всего класса или конкретных учеников
Ученику
Самостоятельно изучать новые и повторять пройденные темы, готовиться по индивидуальной траектории и оценивать результаты на наглядных графиках
Зарегистрироваться в «Облаке знаний»
Логотип облако знаний
+7 (499) 322-07-57
info@oblakoz.ru

Контактный центр

МО, г. Долгопрудный,
Лихачевский проезд, 4, стр. 1

Отдел заботы о пользователях

Политика конфиденциальности

© ООО «Физикон Лаб», 2025

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪