Java Deque没有使用像LinkedList这样的任何现有类?

0 java deque

我必须在a上编写一小段代码deque,但是我不知道如何编写方法的代码,如果有人可以帮助我使用其中一种方法,(例如添加对象的方法)然后那将让我开始.来自deque)我确信我可以管理其余的方法,就在我很难过的那一刻.

sep*_*p2k 6

Deques通常被实现为双链表.您可以通过跟踪列表中的第一个和最后一个元素并让每个元素跟踪其前任和后继元素来实现双向链接列表.

public class Deque<T> {
    private class Node {
        Node(T value) {
            this.value = value;
        }
        T value;
        Node next, prev;
    }

    private Node first, last;

    public void addFront(T value) {
        Node oldFirst = first;
        first = new Node(value);

        // The old first item is now the second item, so its the successor of
        // the new first item
        first.next = oldFirst;

        // if first was null before, that means the deque was empty
        // so first and last should both point to the new item
        if(oldFirst == null) {
            last = first;
        } else {
            // If there previously was a first element, this element is
            // now the second element and its prev field should point to
            // the new first item
            oldFirst.prev = first;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)