Construindo uma Lista duplamente encadeada

2 respostas
E

Oi pessoal estou querendo montar uma Lista duplamente encadeada pra um trabalho da faculdade onde essa lista tem q fazer a busca a inserção e a exclusão, mas não estou conseguindo fazer o metodo main com menu e nem fazer ele achar a outra classe, vou colocar os dois codigos q eu comecei a fazer e espero q alguém possa me ajudar…
Abraços!!
///// classe com o metodo main

import javax.swing.JOptionPane;

import java.text.*;

public class Lista extends No

{

public static void main ( String[] args )

{

int j;

int y;

int z;

System.out.println(DIGITE 1 CRIAR LISTA, 2 INSERIR DADO, 3 REMOVER DADO,4 REALIZAR BUSCA);

j = Integer.parseInt(JOptionPane.showInputDialog(Digite a sua opcao));

if(j==1)

{

z = Integer.parseInt(JOptionPane.showInputDialog(entre com um valor));

while (z!=99){

System.out.println(entre com um valor);

System.out.println(z);

z = Integer.parseInt(JOptionPane.showInputDialog(entre com um valor));

}

if(j==2)

{

}

if(j==3)

{

}

}}}

///////////// classe No

class No

{

public long info;

public No proxi;

public No ante;

public No (long x)                       //construtor

{info = x;}

public void displayNo( )                 // exibe esse nó

{System.out.print(info + " ");}

}                                       // fim da classe no

///////////////////////////////////////////////////////////////

class DoublyLinkedList

{

private No inicio;

private No fim;

public DoublyLinkedList( )                //construtor

{

inicio = null;                                               //sem item na lista ainda

fim = null;

}

/////////////////////////////////////////////////////////////////////////

public boolean isEmpty( )                     /////verdadeiro se não há nós

{ return inicio==null;  }

///////////////////////////////////////////////////////////////////////

public void insertFirst (long dinfo)                        //insere na frente da lista

{

No newNo = new No(dinfo);                              //cria novo nó

if ( isEmpty( ) )                                                         //se lista vazia

fim = newNo;

else

inicio.ante = newNo;                          //newNo – antigo inicio

newNo.proxi = inicio;                                  //newNo – antigo inicio

inicio = newNo;                                           //inicio — newNo

}

/////////////////////////////////////////////////////////////////////////////////////////

public No deleteLast ( )

{

No temp = fim;

if ( fim.proxi == null )

inicio = null;

else

fim.ante.proxi = null;

fim = fim.ante;

return temp;

}

///////////////////////////////////////////////////////////////////////////////////////

}                                                                                         //fim da classe DoublyLinkedList

////////////////////////////////////////////////////////////////////////////////////

2 Respostas

E

Pessoal consegui melhorar essa aplicação, consegui fazer rodar as duas classes juntas, mas agora o problema e q não consigo fazer a classe No carregar junto ou na frente da classe Lista, pois preciso da classe No dentro do main da classe Lista pra executar o menu. Podem me ajudar com isso?
Estou colocando abaixo como está o codigo
Desde já agradeço
Érick

import javax.swing.JOptionPane;

import java.text.*;

public class Lista

{public static void main(String args[])

{

int j;

int z;

System.out.println(DIGITE 1 CRIAR LISTA, 2 INSERIR DADO, 3 REMOVER DADO,4 REALIZAR BUSCA);

j = Integer.parseInt(JOptionPane.showInputDialog(Digite a sua opcao));

if(j==1)

{

z = Integer.parseInt(JOptionPane.showInputDialog(entre com um valor));

while (z!=99){

System.out.println(entre com um valor);

System.out.println(z);

z = Integer.parseInt(JOptionPane.showInputDialog(entre com um valor));

}

if(j==2)

{

}

if(j==3)

{

}

}}
}

class No

{

public long info;

public No proxi;

public No ante;

public No (long x)                       //construtor

{info = x;}

public void displayNo( )                 // exibe esse nó

{System.out.print(info + " ");}

}                                       // fim da classe no

///////////////////////////////////////////////////////////////

class DoublyLinkedList

{

private No inicio;

private No fim;

public DoublyLinkedList( )                //construtor

{

inicio = null;                                               //sem item na lista ainda

fim = null;

}

/////////////////////////////////////////////////////////////////////////

public boolean isEmpty( )                     /////verdadeiro se não há nós

{ return inicio==null;  }

///////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////

public No deleteLast ( )

{

No temp = fim;

if ( fim.proxi == null )

inicio = null;

else

fim.ante.proxi = null;

fim = fim.ante;

return temp;

}

///////////////////////////////////////////////////////////////////////////////////////

}                                                                                         //fim da classe DoublyLinkedList

////////////////////////////////////////////////////////////////////////////////////
Mantu

Se você nos disser qual o erro que está dando e onde, ajuduria bastante…

Criado 11 de novembro de 2006
Ultima resposta 13 de nov. de 2006
Respostas 2
Participantes 2