Первый элемент является следующим для последнего элемента списка.
[[Файл:Circurlar linked list.png (872×241).png|center|400px]]
==Операции в связном списке=====Поиск=== find(k) { x = head; while ((x.key != k)&&(x != NULL)) x = x.next; return x; } Поиск в худшем случае выполняется за <math>\Theta(n)</math>, так как может понадобиться просмотреть весь список. ===Вставка=== insert(k) { tmp = head; x.key = k; x.next = tmp; head = x; } Время работы вставки O(1). ===Удаление=== delete(k) { tmp = find(k); if (tmp != NULL) { //освобождаем память tmp = tmp.next; } }Само удаление работает за O(1), но если требуется сначала найти удаляемый элемент, то на поиск + удаление потребуется <math>\Theta(n)</math> времени.ToDo
==См.также==