Sobes.tech
Junior — Middle

Можете ли да обясните какво представлява свързаният списък и как е устроен?

sobes.tech AI

Отговор от AI

Свързаният списък е структура от данни, състояща се от възли, където всеки възел съдържа данни и препратка към следващия възел в списъка. За разлика от масивите, свързаните списъци не изискват последователен блок памет и позволяват ефективно вмъкване и изтриване на елементи.

Основни видове свързани списъци:

  • Еднопосочен свързан списък: всеки възел съдържа само препратка към следващия възел.
  • Двупосочен свързан списък: всеки възел съдържа препратки както към следващия, така и към предишния възел.

Пример за еднопосочен свързан списък на JavaScript (Node.js):

class Node {
  constructor(value) {
    this.value = value;
    this.next = null;
  }
}

class LinkedList {
  constructor() {
    this.head = null;
  }

  add(value) {
    const newNode = new Node(value);
    if (!this.head) {
      this.head = newNode;
    } else {
      let current = this.head;
      while (current.next) {
        current = current.next;
      }
      current.next = newNode;
    }
  }
}

Свързаните списъци са полезни, когато е необходимо динамично изменение на размера на структурата и чести вмъквания/изтривания на елементи.