Создание связанного списка в C++ – это важная задача, которая помогает понять основы работы с динамической памятью и указателями. Связанный список является структурой данных, состоящей из узлов, каждый из которых содержит данные и указатель на следующий узел. Давайте рассмотрим, как создать простой односвязный список в C++.

Шаг 1: Определение структуры узла

Первым делом, необходимо определить структуру узла. Узел будет содержать данные и указатель на следующий узел.

struct Node {
    int data; // Данные узла
    Node* next; // Указатель на следующий узел
};

Шаг 2: Создание связанного списка

Теперь мы можем создать класс для управления связным списком. Этот класс будет включать методы для добавления, удаления и отображения узлов списка.

class LinkedList {
private:
    Node* head; // Указатель на начало списка

public:
    LinkedList() : head(nullptr) {} // Конструктор по умолчанию
    ~LinkedList(); // Деструктор
    void insert(int value); // Метод для вставки узла
    void display(); // Метод для отображения списка
};

Шаг 3: Реализация методов

Теперь давайте реализуем методы класса LinkedList.

void LinkedList::insert(int value) {
    Node* newNode = new Node(); // Создаем новый узел
    newNode->data = value; // Устанавливаем данные
    newNode->next = head; // Новый узел указывает на текущую голову
    head = newNode; // Обновляем голову списка
}

void LinkedList::display() {
    Node* current = head; // Начинаем с головы
    while (current != nullptr) {
        std::cout <data <next; // Переходим к следующему узлу
    }
}

LinkedList::~LinkedList() {
    Node* current = head;
    Node* next;
    while (current != nullptr) {
        next = current->next; // Сохраняем следующий узел
        delete current; // Удаляем текущий узел
        current = next; // Переходим к следующему узлу
    }
} 

Шаг 4: Пример использования

Теперь давайте посмотрим, как использовать наш связанный список в программе.

#include 
using namespace std;

int main() {
    LinkedList list; // Создаем связанный список
    list.insert(10); // Вставляем значения
    list.insert(20);
    list.insert(30);
    list.display(); // Отображаем список
    return 0;
}

Шаг 5: Заключение

Теперь вы знаете, как создать связанный список в C++. Это базовая структура данных, которая широко используется в алгоритмах и программировании. Вы можете расширять данный пример, добавляя методы для удаления узлов, поиска узлов и других операций. Работа со связанными списками помогает лучше понять указатели и динамическое выделение памяти в C++.