美文网首页
LinkedList

LinkedList

作者: 昔日的帅哥 | 来源:发表于2019-06-26 11:16 被阅读0次

LinkedList

通过双向链表实现,不需要扩容机制

private static class Node<E> {
        E item;
        Node<E> next;
        Node<E> prev;

        Node(Node<E> prev, E element, Node<E> next) {
            this.item = element;
            this.next = next;
            this.prev = prev;
        }
 }

public E get(int index) {
        checkElementIndex(index);
        return node(index).item;
 }

//根据index,选择从前还是后开始遍历
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;
        }
    }

相关文章

网友评论

      本文标题:LinkedList

      本文链接:https://www.haomeiwen.com/subject/clnqcctx.html