无法理解此队列的添加方法

时间:2015-12-21 16:02:35

标签: java data-structures queue

我在使用Java描述队列的power point上找到了这个例子。 整个代码都很好,直到我得到Add方法,它为队列添加了新的Node或新值,这里是add方法代码:

 public void add(String value ){
        Node node = new Node(value, null);
        if(isEmpty())
            front = rear = node;
        else {
            //I don't understand these two lines
            rear.next = node; //
            rear = node; //
        }
    }

我无法理解上面两行rear.next=noderear =node,我们为同一个Node对象分配了下一行和当前的内容吗?
这是类节点的代码:

 class Node {
        String value;
        Node next;

        public Node(String value, Node next) {
            this.value = value;
            this.next = next;
        }
        public Node(String value) {
            this.value = value;
        }
    }

1 个答案:

答案 0 :(得分:1)

将节点附加到队列的末尾。或者换句话说,结束后的节点应该是新节点:

rear.next = node;

现在我们已经将一个节点附加到末尾,最后一个节点是不同的,而不是我们追加之前的节点。新的最后一个节点是我们刚刚添加的节点:

rear = node;