Junior — Middle
Жалгыз байланыштуу тизмеде жана массивде индекске ылайык элементтерге кандай жетүү керек?
sobes.tech AI
AIден жооп
Массивде индекс боюнча элементтерге кирүү өтө тез жана жөнөкөй — $array[$index] синтаксисин колдонуп, керектүү элементке дароо кайрылса болот. Бул мүмкүн, анткени массивдер элементтерди үзгүлтүксүз эс тутум аймагында сактайт.
Жалгыз байланышкан тизмеде индекс боюнча түздөн-түз кирүү жок, анткени элементтер көрсөтүүчүлөр аркылуу байланышкан. Белгилүү бир индекс менен элементти алуу үчүн, тизмени баштан баштап, бир түйүндөн экинчи түйүнгө өтүп, керектүү индекске жеткенче өтүү керек:
function getElementAt($head, $index) {
$current = $head;
$count = 0;
while ($current !== null) {
if ($count === $index) {
return $current->value;
}
$current = $current->next;
$count++;
}
return null; // индекс диапазондан тышкары
}
Ошентип, бирдиктүү байланышкан тизмеде индекс боюнча кирүү O(n) татаалдыгы бар, ал эми массивде — O(1).