有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

不使用任何现有类(如LinkedList)的JavaDeque?

我必须在deque上写一段非常短的代码,但是我不确定如何为这些方法编写代码,如果有人能帮助我使用其中一种方法(例如,一个向deque的from添加对象的方法),那么我就可以开始了。我相信我可以管理其余的方法,就在此时此刻,我非常困惑


共 (2) 个答案

  1. # 1 楼答案

    DEQUE通常实现为双链接列表。通过跟踪列表中的第一个和最后一个元素,并让每个元素跟踪其前一个和后一个元素,可以实现双链接列表

    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;
            }
        }
    }
    
  2. # 2 楼答案

    我不确定您到底在追求什么,但是在Javadoc中列出了Deque的可用方法