Мы знаем, что структура данных Double LinkedList имеет преимущество вставки узла за O (1) время, если вы уже получили узел до или после местоположения, которое вы хотите вставить.(например, если у вас есть двойной связанный список: ABCD, если вы уже получили узел C, то для вставки нового узла до или после узла C требуется только O (1)).
Если вывручную создать двойной связанный список в Java / C ++, это довольно легко понять, но недавно я заинтересовался библиотекой LinkedList в Java, которая представляет собой структуру данных двойного связанного списка, предлагаемую в java.util.Если я хочу использовать библиотеку LinkedList, предоставляемую java, как я могу выполнить вставку или удаление O (1), как я упоминал в первом абзаце?Я провел некоторое исследование, вы можете создать ListIterator LinkedList, который может перемещаться вперед и назад, затем вставлять и удалять прежний или после узла.Но это все еще нуждается в прохождении.Если у меня уже есть узел C и как я могу напрямую получить соответствующий итератор за O (1) раз?