TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

O Binario Bidimencional

Por:   •  4/10/2015  •  Projeto de pesquisa  •  1.512 Palavras (7 Páginas)  •  158 Visualizações

Página 1 de 7

class Lista {

    private Celula primeiro;

    private Celula ultimo;

//Construtor da classe que cria uma lista sem elementos (somente no cabeca).

    public Lista() {

    primeiro=new Celula();

    ultimo=primeiro;

    }

Insere um elemento na primeira posicao da lista.

@param x int elemento a ser inserido.

    public void inserirInicio(int x) {

    Celula tmp=new Celula(x);

    tmp.prox=primeiro.prox;

    primeiro.prox=tmp;

    if(primeiro==ultimo) {                

    ultimo=tmp;

    }

    tmp = null;

    }

 Insere um elemento na ultima posicao da lista.

@param x int elemento a ser inserido.

    public void inserirFim(int x) {

    ultimo.prox=newCelula(x);

    ultimo = ultimo.prox;

    }

 Remove um elemento da primeira posicao da lista.

@return resp int elemento a ser removido.

    public int removerInicio(){

    if (primeiro == ultimo) {

    System.out.println("Erro ao remover (vazia)!");

    System.exit(1);

    }

     Celula tmp = primeiro;

    primeiro = primeiro.prox;

    int resp = primeiro.elemento;

    tmp.prox = null;

    tmp = null;

    return resp;

    }

Remove um elemento da ultima posicao da lista.

@return resp int elemento a ser removido.

    public int removerFim(){

    if (primeiro == ultimo) {

    System.out.println("Erro ao remover (vazia)!");

    System.exit(1);

    }

 // Caminhar ate a penultima celula:

      Celula i;

      for(i = primeiro; i.prox != ultimo; i = i.prox);

      int resp = ultimo.elemento;

      ultimo = i;

      i=ultimo.prox=null;

      return resp;

    }

Insere um elemento em uma posicao especifica considerando que o

primeiro elemento valido esta na posicao 0.

@param x int elemento a ser inserido.

@param pos int posicao da insercao.

   public void inserirMeio(int x, int pos){

       int tamanho = tamanho();

       if(pos < 0 || pos > tamanho){

  System.out.println("Erro ao inserir posicao("+pos+"/tamanho="+tamanho+") invalida!");

     }else if (pos == 0){

      inserirInicio(x);

     }else if (pos == tamanho){

      inserirFim(x);

      } else {

// Caminhar ate a posicao anterior a insercao

         Celula i = primeiro;

         for(int j = 0; j < pos; j++, i = i.prox);

         Celula tmp = new Celula(x);

         tmp.prox = i.prox;

         i.prox = tmp;

         tmp = i = null;

      }

   }

Remove um elemento de uma posicao especifica da lista

considerando que o primeiro elemento valido esta na posicao 0.

@param posicao Meio da remocao.

@return resp int elemento a ser removido.

    public int removerMeio(int pos){

      int resp = -1;

      int tamanho = tamanho();

        if (primeiro == ultimo){

        System.out.println("Erro ao remover (vazia)!");

        System.exit(1);

      } else if(pos < 0 || pos >= tamanho){

        System.out.println("Erro ao remover (posicao"+pos+"/"+tamanho+"invalida!");

        System.exit(1);

      } else if (pos == 0){

        resp = removerInicio();

      } else if (pos == tamanho - 1){

        resp = removerFim();

      } else {

// Caminhar ate a posicao anterior a insercao

        Celula i = primeiro;

        for(int j = 0; j < pos; j++, i = i.prox);         

        Celula tmp = i.prox;

        resp = tmp.elemento;

        i.prox = tmp.prox;

        tmp.prox = null;

        i = tmp = null;

      }

        return resp;

    }

Mostra os elementos da lista separados por espacos.

    public void mostrar() {

        System.out.print("[ "); // Comeca a mostrar.

        for (Celula i = primeiro.prox; i != null; i = i.prox) {

        System.out.print(i.elemento + " ");

        }

        System.out.println("] "); // Termina de mostrar.

    }

Procura um elemento e retorna se ele existe.

@param x Elemento a pesquisar.

@return true se o elemento existir,

false em caso contrario.

...

Baixar como (para membros premium)  txt (5.9 Kb)   pdf (95.8 Kb)   docx (12.8 Kb)  
Continuar por mais 6 páginas »
Disponível apenas no TrabalhosGratuitos.com