我正在优化排序的 LinkedList 的实现。
要插入一个元素,我遍历列表并比较每个元素,直到我有正确的索引,然后中断循环并插入。
我想知道是否有任何其他方式可以在遍历列表的同时插入元素以将插入从 O(n + (n capped at size()/2)) 减少到 O(n) .
ListIterator几乎是我所追求的,因为它的 add() 方法,但不幸的是,在列表中存在等于插入的元素的情况下,插入必须放在列表中它们之后。要实现这个 ListIterator 需要一个它没有的 peek()。
编辑:我有我的答案,但无论如何都会添加这个,因为很多人还没有正确理解: 我正在寻找一个插入点和插入,它的总和高于 O(n)