Что такое связный список?

Связный список — это линейная структура данных, где каждый элемент (узел) содержит данные и указатель на следующий узел. В отличие от массива, элементы не хранятся в непрерывной памяти.
Пример кода на C++
#include <iostream>
struct Node {
int data;
Node* next;
Node(int val) : data(val), next(nullptr) {}
};
void printList(Node* head) {
Node* current = head;
while (current != nullptr) {
std::cout << current->data << " ";
current = current->next;
}
std::cout << std::endl;
}
Node* insertAtEnd(Node* head, int val) {
Node* newNode = new Node(val);
if (!head) return newNode;
Node* current = head;
while (current->next) {
current = current->next;
}
current->next = newNode;
return head;
}Преимущества и недостатки
- Плюсы: динамический размер, быстрая вставка/удаление в начале
- Минусы: нет прямого доступа к элементу по индексу, лишняя память на указатели
std::list в C++ STL — это уже реализованный двусвязный список. Используйте его вместо собственной реализации.
Добавить комментарий