Alguém pode me ajudar pois não estou compreedendo essa função
public class Lista
{
private NodoLista prim = null;//primeiro nodo da lista
private NodoLista ult = null;//ultimo nodo da lista
public void inserir(int chave)//insere dados há lista
{
NodoLista aux = new NodoLista();
aux.chave = chave; // preenche o nodo com os dados
if(prim == null) // lista VAZIA
prim = aux; // atualiza o primeiro
else
ult.prox = aux;
ult = aux; // atualiza o ultimo
}
}
protected class NodoLista
{
public int chave; // campo CHAVE da lista (pode ser de outro tipo)
/* INSIRA AQUI os demais campos da lista */
public NodoLista prox = null; // referencia para o proximo nodo da lista
}
bem esse aux é um objeto da classe NodoLista certo mais pra que serve esse objeto…??? ele cria espaço na mémoria…como é feito o armazenamento dos nodos na memoria…?
é isso ai amigo!
ele que controla, os valores a serem inseridos nesta lista! Ele testa se já existem valores, ou ainda não!
tai ai cara as duas classes vc k insere os dados mais esse aux e pra friar os nodos certo…?
/* CLASSE: LISTA ENCADEADA
* inserir(x) -> insere o elemento na lista
* pesquisar(x) -> procura pela chave na lista, retorna o nodo se o elemento for encontrado e NULL caso contrário
* remover(x) -> remove um nodo das lista de acordo com a chave
* imprimir(x) -> imprime todos os nodos da lista
*/
import javax.swing.*;
public class Lista
{
private NodoLista prim = null;//primeiro nodo da lista
private NodoLista ult = null;//ultimo nodo da lista
public void inserir(int chave)//insere dados há lista
{
NodoLista aux = new NodoLista();
aux.chave = chave; // preenche o nodo com os dados
if(prim == null) // lista VAZIA
prim = aux; // atualiza o primeiro
else
ult.prox = aux;
ult = aux; // atualiza o ultimo
}
public NodoLista pesquisar(int chave)
{
NodoLista aux;
aux = prim;
while(aux != null)
{
if(aux.chave == chave) // registro encontrado
return aux; // retorna o nodo encontrado
aux = aux.prox; // avança para o próximo nodo
}
return null; // retorna null qdo não encontrado
}
public void remover(int chave)
{
NodoLista aux, ant;
aux = prim;
ant = null;
while(aux != null)
{
if(aux.chave == chave) // nodo encontrado
{
if(aux == prim) // se o nodo a ser removido for o primeiro...
prim = prim.prox;
else
ant.prox = aux.prox;
if(aux == ult) // se o nodo a ser removido for o ultimo...
ult = ant;
break;
}
ant = aux;
aux = aux.prox; // avança para o próximo nodo
}
}
public void imprimir()
{
NodoLista aux;
aux = prim;
while(aux != null)
{
System.out.println("Chave: " + aux.chave);
aux = aux.prox; // avança para o próximo nodo
}
}
public static void main(String args[])
{
Lista p = new Lista();
int num;
for(int i=0;i<10;i++)
{
num=Integer.parseInt(JOptionPane.showInputDialog("Dígite o número que vc deseja listar !"));
p.inserir(num);
}
p.imprimir();
}
protected class NodoLista
{
public int chave; // campo CHAVE da lista (pode ser de outro tipo)
/* INSIRA AQUI os demais campos da lista */
public NodoLista prox = null; // referencia para o proximo nodo da lista
}
}