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;
    }
  }
}

Կապակցված ցանկերը օգտակար են, երբ անհրաժեշտ է կառուցվածքի չափը դինամիկ փոփոխել և հաճախ ավելացնել/ջնջել տարրեր։