como faço para implementar uma lista encadeada???
Você quer fazer uma na mão ou usar uma já existente?
Se for a opção 1, é só criar uma classe auto-referencial:
class Nodo {
Nodo prox;
...
}
Senão, olhe as classes do pacote java.util (ArrayList, LinkedList, etc)
Cara vou por um codigo aki da uma olhada
package listaduplamenteencadeada;
public class ListaDupla {
NoDuplo primeiro, ultimo;
public ListaDupla() {
primeiro = ultimo = null;
}
public void insereNo(Object novoElemento){
if (primeiro == null)
ultimo = primeiro = new NoDuplo(novoElemento, ultimo);
else
ultimo = ultimo.prox = new NoDuplo(novoElemento, ultimo);
}
public Object excluiNo(){
if (primeiro == null){
System.out.println("Lista Vazia!");
System.exit(1);
}
Object removeElemento = ultimo.elemento;
if (primeiro == ultimo)
primeiro = ultimo = null;
else{
NoDuplo temp_no = ultimo.ant;
temp_no.prox = null;
ultimo = temp_no;
}
return removeElemento;
}
public void imprimirLista (){
NoDuplo temp_no = primeiro;
while (temp_no != null){
System.out.println(temp_no.elemento);
temp_no = temp_no.prox;
}
}
}
[size=“18”]Esse codigo de uma lista dupla!![/size]
package listaduplamenteencadeada;
public class NoDuplo {
Object elemento;
NoDuplo prox;
NoDuplo ant;
public NoDuplo(Object e) {
elemento = e;
prox = ant = null;
}
public NoDuplo(Object e, NoDuplo a){
elemento = e;
prox = null;
ant = a;
}
}// fim da classe
package listaduplamenteencadeada;
import java.io.*;
public class Main {
public static void escolhas(){
System.out.println("Escolha uma opção:");
System.out.println("1 - Inserir na fila");
System.out.println("2 - Remover da fila");
System.out.println("3 - Imprime a fila");
System.out.println("4 - Sair");
System.out.println("Opcao:\t");
}
public static void main(String[] args) {
ListaDupla l = new ListaDupla();
BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
Object valor;
char op;
try{
do{
escolhas();
op = entrada.readLine().charAt(0);
switch (op){
case '1':
System.out.println("Inserindo um elemento na lista");
System.out.println("Digite um valor:");
valor = Integer.parseInt(entrada.readLine());
l.insereNo(valor);
break;
case '2':
System.out.println("Removendo um elemento da lista");
valor = l.excluiNo();
System.out.println("Elemento " + valor + " removido!");
break;
case '3':
System.out.println("Imprimindo a fila");
l.imprimirLista();
break;
case '4':
System.out.println("Encerrando o programa");
break;
default:
System.out.println("Opcao invalida!");
}
}while (op > '0' && op < '4');
}catch(Exception erro){
System.out.println("Erro na entrada de dados");
}
}
}
CARA VE SE EH ISSO Q VC TAVA PROCURANDO EU COLOQUEI AS TRES CLASSE Q SAO NECESSARIAS!!!
AT+++++