如何在泛型类中将节点添加到链表的末尾?

时间:2014-02-02 01:13:39

标签: java generics linked-list queue

 class linkedqueue <item_t> {

   private class node{
    item_t item;
    node link;

     public node(item_t t, node l){
       item=t;
       link=l;

   }

   private node front = null;
   private node rear = null;

   public void insert (item_t any) {
      this.link=new node(any,this.link);

   }

insert方法应该在队列末尾添加“any”。它只适用于节点类,但现在它在链接队列中,我不知道如何修复“this.link”部分..

1 个答案:

答案 0 :(得分:0)

LinkedList中的最后一个节点将指向空值。因此,抓取列表中的最后一个节点,将其下一个节点设置为您传入的新节点,最后将新节点的下一个指针设置为null,表示列表的结尾。

private void addLast(Node<T> aNode)
{
    Node<T> head, lastNode;

    head = this.getHead();

    mySize++;

    if(head == null)
    {
        this.addFirst(aNode);
    }
    else
    {
        lastNode = this.getPrevious(null);  // get last Node, which is the Node previous to Null
        lastNode.setNext(aNode);  // add the new node to the end of the list
        aNode.setNext(null);  //set the new node's next pointer to null, indicating the end of the list
    }
}