Java中的链表实现

时间:2014-02-16 17:14:16

标签: java linked-list

我遇到了一个示例程序,它将数字添加到链接列表

import java.util.LinkedList;

class Node {
    public int data;
    public Node next;
    Node(int d){
        data=d;
    }
    public static void main(String args[]){
        LinkList f1 = new LinkList();
        for(int j=0;j<=10;j++){
        f1.inject(j);
        }
        f1.display();
    }

}
class LinkList {
    Node firstlink;
    LinkList(){
        firstlink=null;
    }
    void inject(int a){
     Node pw=new Node(a);
        pw.next=firstlink;
        firstlink=pw;
    }
    void display(){
       Node pw=firstlink;
        while(pw !=null){
            System.out.println(pw.data);
            pw=pw.next;
        }
    }

}

我对如何在这里实施它有一些疑问。 首先是怎么做的

Node pw=new Node(a);
        pw.next=firstlink;
        firstlink=pw;

将项目添加到链接列表? 以及为什么声明

Node pw=firstlink;

它做了什么?

我们将如何从链接列表中删除项目?

1 个答案:

答案 0 :(得分:2)

Injecting element to LinkedList?

它的完成方式是每次调用inject时都会使用提供的整数值创建新节点。

Node pw=new Node(a);

这个新创建的Node实例指向当前的Head Node

pw.next=firstlink;

然后创建新实例成为新节点。

firstlink=pw;

正如您在LinkedList中所知,我们所要做的就是维护头节点。要进行迭代,我们只需调用next()直到!= null。在示例代码中,firstlink表示头节点。