Sobes.tech
Junior — Middle

Կարող եք բացատրել, թե ինչ է միակապակցված ցանկը և ինչպես է այն իրականացվում Python-ում?

sobes.tech AI

Պատասխան AI-ից

Միայն միացված ցանկը տվյալների կառուցվածք է, որը բաղկացած է հանգույցներից, որտեղ յուրաքանչյուր հանգույց պարունակում է տվյալներ և հղում հաջորդ հանգույցին ցանկում: Բազմապատկման տարբերակով, տարրերը չեն պահվում հաջորդական հիշողության տարածքում, ինչը թույլ է տալիս արդյունավետ ավելացնել և հեռացնել տարրեր:

Python-ում միացված ցանկի օրինակ:

class Հանգույց:
    def __init__(self, տվյալներ):
        self.տվյալներ = տվյալներ
        self.հետագա = None

class ՄիայնՄիացվածՑանկ:
    def __init__(self):
        self.գլխավոր = None

    def ավելացնել(self, տվյալներ):
        նոր_հանգույց = Հանգույց(տվյալներ)
        if not self.գլխավոր:
            self.գլխավոր = նոր_հանգույց
            return
        ընթացիկ = self.գլխավոր
        while ընթացիկ.հետագա:
            ընթացիկ = ընթացիկ.հետագա
        ընթացիկ.հետագա = նոր_հանգույց

    def ցուցադրել_ցանկը(self):
        ընթացիկ = self.գլխավոր
        while ընթացիկ:
            print(անցյալ.տվյալներ, end=' -> ')
            ընթացիկ = ընթացիկ.հետագա
        print('None')

# Օգտագործում
sll = ՄիայնՄիացվածՑանկ()
sll.ավելացնել(1)
sll.ավելացնել(2)
sll.ավելացնել(3)
sll.ցուցադրել_ցանկը()  # Արտածում՝ 1 -> 2 -> 3 -> None