61
правка
Изменения
Список
,Нет описания правки
==Односвязный список ==
Простейшая реализация списка. В узлах хранятся данные и указатель на следующий элемент в списке.
[[Файл:Single linked list-1-simpleSpisok.png|center|400px]]
==Двусвязный список ==
Также хранится указатель на предыдущий элемент списка, благодаря чему становится проще удалять и переставлять элементы.
==Циклический список==
Первый элемент является следующим для последнего элемента списка.
[[Файл:Circurlar linked list.png (872×241)circleSpisok.png|center|400px450px]]
==Операции на списке==
Рассмотрим базовые операции на примере односвязного списка.
===Вставка===
Очевиден случай, когда необходимо добавить элемент (<tex>newHead</tex>) в голову списка. Установим в этом элементе ссылку на старую голову, и обновим указатель на голову.
<pre>
insert(newHead)
head = newHead;
</pre>
[[Файл:insertHead.png|center|550px]]
Если же на нужно вставить элемент (<tex>thatElement</tex>) в определенную позицию после какого-то другого элемента (<tex>thisElement</tex>), то просто изменим соответствующие ссылки.
<pre>