Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
Guest --jorge --

PROGRAMA EM JAVA

Question

Guest --jorge --

CONSTRUA UM ALGORITMO EM JAVA Q CRIE UMA LISTA DUPLAMENT ENCADEADA SIMULANDO A LISTA D PRESENÇA D UMA TURMA D ALUNOS CRIE METODOS INCLUIR NO INICIO NO FIM E EM ALGUM LUGAR ESPECIFICO.

PRECISO COM URGENCIA VALEWS!!!!

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0
Guest --luciano --
package listaligada.listasimples;

// Cria um objeto para guardas as celulas 
// criando uma lista ligada (³)
public class ListaLigada {
    
    private    Celula primeira;
    // para adicionar na ultima posicao
    private Celula ultima;
    private int total;
    
    public void adicionaNoComeco(Object obj) {
        // Instacia o objeto para guardar na memoria
        // o atributo primeira passado por parametro é apenas
        // para reconhecer a antiga primeira que será a proxima da nova primeira
        Celula nova = new Celula(primeira,obj);
        
        /* aqui a célula primeira é instanciada (recebe a nova)
         porem a celula proxima da primeira ainda não esta
         instanciado(mas passa a referencia para a celula ultima.proxima)
         SÓ QUANDO A LISTA ESTA VAZIA
        */
        /* quando a lista estiver populada, para adicionar 
         * um novo objeto no comeco, cria-se uma nova celula,
         * e esta celula nova sua proxima estará apontando 
         * para antiga primeira
         */
        primeira = nova;
        
        if(total == 0) {
            // aqui a ultima tambem recebe a primeira 
            // mas a ultima.proxima não esta instaciado
            ultima = primeira;
        }
        // incrementa total para saber quantas celulas possuem
        total++;
    }
    public void adiciona(Object obj) {
        if(total == 0) {
            // se a lista estiver vazia(sem nenhuma celula instaciada)
            adicionaNoComeco(obj);
        }
        else {
            // cria uma nova celula com o objeto
            Celula nova = new Celula(obj);
            // ultima.proxima recebe a nova celula(ultima velha)
            ultima.setProxima(nova);
            // a ultima celula é a nova
            ultima = nova;
            total++;
        }
    }
    public  void adiciona(int index,Object obj) {
        
        if(index == 0) {
            adicionaNoComeco(obj);            
        }        
        else if (index == total){
            adiciona(obj);
        }
        else {
            
            Celula atual = primeira;
            for(int i=0; i<index-1; i++){
                atual = atual.getProxima();
            }
            atual.setProxima(new Celula(atual.getProxima(),obj));
            total++;
        }
        
        
    }

    public int getTotal() {
        return total;
    }
    
    public String toString() {
        String tmp="";
        Celula atual = primeira;

        //so se tiver mais de uma celula na lista
        for(int i=0; i<total-1; i++) {
            tmp+= atual.getObjeto()+" ";
            atual = atual.getProxima();
        }
        
        tmp += atual.getObjeto();
        return tmp;
    }
    
}

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  



  • Forum Statistics

    • Total Topics
      148559
    • Total Posts
      644320
×
×
  • Create New...