SIGN IN SIGN UP
Snailclimb / JavaGuide UNCLAIMED

Java 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发

0 0 4 Java

LinkedList指定位置插入/删除,遍历平均元素应该是n/4个元素

因为本身就有头尾指针,遍历元素的时候会从最近的指针出发,最多会遍历n/2个元素,平均应该是n/4。Java8源码片段如下:

    Node<E> node(int index) {
        // assert isElementIndex(index);

        if (index < (size >> 1)) {
            Node<E> x = first;
            for (int i = 0; i < index; i++)
                x = x.next;
            return x;
        } else {
            Node<E> x = last;
            for (int i = size - 1; i > index; i--)
                x = x.prev;
            return x;
        }
    }
C
chaobk committed
394043949e923bd871d2cc88f185847ec9b75088
Parent: 94bf6cb