Sobes.tech
Junior — Middle

Oddiy bog'langan ro'yxat nima va u Python'da qanday amalga oshirilishini tushuntirib bera olasizmi?

sobes.tech AI

AIdan javob

Yagona bog'langan ro'yxat — bu ma'lumotlar va ro'yxatdagi keyingi tugunga havolani o'z ichiga olgan tugunlardan tashkil topgan ma'lumotlar tuzilmasi. Arraydan farqli o'laroq, elementlar ketma-ket bo'lmagan xotira hududida saqlanadi, bu esa elementlarni samarali qo'shish va o'chirish imkonini beradi.

Python'da yagona bog'langan ro'yxatni amalga oshirish misoli:

class Tugun:
    def __init__(self, ma'lumot):
        self.ma'lumot = ma'lumot
        self.keyingi = None

class YagonaBog'langanRo'yxat:
    def __init__(self):
        self.bosh = None

    def qo'shish(self, ma'lumot):
        yangi_tugun = Tugun(ma'lumot)
        if not self.bosh:
            self.bosh = yangi_tugun
            return
        hozirgi = self.bosh
        while hozirgi.keyingi:
            hozirgi = hozirgi.keyingi
        hozirgi.keyingi = yangi_tugun

    def ro'yxatni_chop_etish(self):
        hozirgi = self.bosh
        while hozirgi:
            print(hozirgi.ma'lumot, end=' -> ')
            hozirgi = hozirgi.keyingi
        print('None')

# Foydalanish
sll = YagonaBog'langanRo'yxat()
sll.qo'shish(1)
sll.qo'shish(2)
sll.qo'shish(3)
sll.ro'yxatni_chop_etish()  # Chiqish: 1 -> 2 -> 3 -> None