Sobes.tech
Junior — Middle

Ulaning nima ekanligini va qanday ishlashini tushuntirib bera olasizmi?

sobes.tech AI

AIdan javob

Bir bog'langan ro'yxat — bu ma'lumotlar va ro'yxatdagi keyingi tugunga havola bo'lgan tugunlardan iborat ma'lumotlar tuzilmasi. Massivlardan farqli o'laroq, bog'langan ro'yxatlar uzluksiz bo'shliq talab qilmaydi va elementlarni samarali qo'shish va o'chirish imkonini beradi.

Asosiy bog'langan ro'yxat turlari:

  • Bir tomonlama bog'langan ro'yxat: har bir tugun faqat keyingi tugunga havola qiladi.
  • Ikki tomonlama bog'langan ro'yxat: har bir tugun keyingi va oldingi tugunlarga havolalarni o'z ichiga oladi.

JavaScript (Node.js) da oddiy bog'langan ro'yxat misoli:

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

Bog'langan ro'yxatlar, strukturaning o'lchamini dinamik ravishda o'zgartirish va tez-tez elementlarni qo'shish/olib tashlash talab qilinadigan hollarda foydalidir.