Sobes.tech
Junior — Middle

Kā piekļūt elementiem pēc indeksa vienkāršajā saistītajā sarakstā un masīvā?

sobes.tech AI

Atbilde no AI

Pieejas elementiem pēc indeksa masīvā ir ļoti ātrs un vienkāršs — var tieši piekļūt vajadzīgajam elementam, izmantojot sintaksi $array[$index]. Tas ir iespējams tāpēc, ka masīvi glabā elementus nepārtrauktā atmiņas apgabalā.

Vienvirziena sasaistītajā sarakstā nav tiešas piekļuves pēc indeksa, jo elementi ir saistīti ar norādītājiem. Lai iegūtu elementu ar noteiktu indeksu, ir jāiziet cauri sarakstam no sākuma, pārejot no viena mezgla uz otru, līdz sasniedzat vajadzīgo indeksu:

function getElementAt($head, $index) {
    $current = $head;
    $count = 0;
    while ($current !== null) {
        if ($count === $index) {
            return $current->value;
        }
        $current = $current->next;
        $count++;
    }
    return null; // indekss ārpus diapazona
}

Tādējādi, piekļuve pēc indeksa vienvirziena saistītajā sarakstā ir O(n) sarežģītībā, bet masīvā — O(1).