2014-02-16 4 views
-1

я наткнулся на пример программы, которая добавляет числа в связанном спискеСвязанный список Внедрение в Java

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; 

что он делает?

и как удалить элемент из связанного списка?

+2

Ну, последний из них прост, вы не можете, если не добавите свой собственный метод. Это означает, что этот код полностью исключает элементы из списка. –

+0

Вы «натолкнулись на этот код» ... например, в своем домашнем задании? –

+0

http://en.wikipedia.org/wiki/Linked_list почти полностью охватывает все, что вы когда-либо хотели бы знать о связанных списках. –

ответ

2
Injecting element to LinkedList? 

Способ, которым это делается, каждый раз, когда впрыскивается новый узел, создается с предоставленным целочисленным значением.

Node pw=new Node(a); 

Это вновь создать экземпляр узла делается, чтобы указать на текущий головной узел

pw.next=firstlink; 

, а затем затем новый экземпляр, созданный сделан новый узел.

firstlink=pw; 

Как вы знаете, в LinkedList все, что нам нужно сделать, это поддерживать головной узел. Для итерации мы просто вызываем next() до != null. В примере кода firstlink представлен головной узел.

+0

um, можете ли вы подробно проработать? – Sigma

+0

ok, тогда как последний указатель будет null, я не знаю, как последний указатель должен быть пустым в этом примере? – Sigma

+0

Это было «null», когда список был сначала создан, потому что когда он был создан, он не имел никаких данных и, следовательно, не мог ничего сохранить в нем. Я не говорю, что согласен с тем, как это было сделано, но так оно и было. –

Смежные вопросы