Ir para conteúdo
Fórum Script Brasil
  • 0

PROGRAMA EM JAVA


Guest --jorge --

Pergunta

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!!!!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 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;
    }
    
}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...