Qo'yilgan masala
Bir bog’lamli ro'yxat. Bir bog’lamli ro'yxat bir nechta tugunlardan iborat bo'lib, ularning har biri a) ma'lumotlar va b) keyingi tugunga havolani o'z ichiga oladi
Download 1.26 Mb.
|
MTA 4
Bir bog’lamli ro'yxat. Bir bog’lamli ro'yxat bir nechta tugunlardan iborat bo'lib, ularning har biri a) ma'lumotlar va b) keyingi tugunga havolani o'z ichiga oladi.1-rasm. Bir bog’lamli ro'yxat Yuqoridagi rasmda biz bog’lamli ro'yxatning tartibini ko'rishimiz mumkin. Chapdan boshlab va o'ngga qarab, biz ro'yxatning sarlavhasida ma'lumotlar va keyingi tugunga ko'rsatgich borligini ko'ramiz. Ushbu naqsh ro'yxatning oxirigacha davom etadi, bu erda u tugun emas. NULL qiymati ro'yxat tugaganligini bildiradi. Bir bog’lamli ro'yxat yaratish uchun quyidagi kodni ko'rib chiqing. # Node class class Node: # Function to initialize the node object def __init__(self, data): self.data = data # Assign data self.nextnode = None # Initialize next as null a = Node(1) # declaring data in each node b = Node(2) c = Node(3) a.nextnode = b # link first node to second node b.nextnode = c # link second node to third node a.next.value # will return the value of the next node b = 2 Ikki bog’lamli ro'yxat. Ikki bog’lamli ro'yxatda har bir tugun ma'lumotlarni, undan keyingi tugunga havolani va undan oldingi tugunga havolani o'z ichiga oladi.2-rasm. Ikki bog’lamli ro’yxat Bir bog’lamli ro'yxat va ikki marta bog’lamli ro'yxat o'rtasidagi farq yuqoridagi rasmda ko'rsatilgan "oldingi" o'qlardir. Qo'shimcha ko'rsatgichning afzalliklari shuni anglatadiki, ma'lumotlarga kirishda ro'yxatni istalgan yo'nalishda harakatlantirish mumkin - bu 5-tugundan 8-tugunga o'tish ro'yxat boshidan o'tishdan ko'ra osonroq bo'lishi mumkinligini anglatadi. Ro'yxatning boshida va oxirida joylashgan yangi tugunlarga sentinellar deyiladi. Ushbu tugunlar yuqorida ko'rgan NULL qiymatlarini almashtiradi. Ular ro'yxatning yuqori yoki pastki qismiga tezda qo'shish yoki o'chirish imkonini beradi. Ikki bog’lamli ro'yxat uchun quyidagi kodni ko'rib chiqing. # Ikki marta bog'langan ro'yxat uchun tugunlarni yaratish uchun kod # Bog'langan ro'yxat tugun class Node: def __init__(self): self.data = None # ma'lumotlar konteyneri self.next_node = None # keyingi tugunga standart ko'rsatgich self.prev_node = None # oldingi tugunga ko'rsatgich # Har bir tugunni yaratish a = Node(1) b = Node(2) c = Node(3) # Tugunlarni ulang # Ulanish tugunlari a & b har ikki yo'nalishda bir-biriga a.next_node = b b.prev_node = a # Ulanish tugunlari b & amp; c har ikki yo'nalishda bir-biriga. b.next_node = c c.prev_node = b Endi bizda bog’lamli ro‘yxatlar yaratish uchun zarur bo‘lgan kod bor, keling, Leetcode-da topishingiz mumkin bo‘lgan ba’zi umumiy intervyu savollarini ko‘rib chiqamiz. Download 1.26 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling