Lista simplesmente encadeada

379 palavras 2 páginas
class ListaSimplesmenteEncadeada { Elemento inicio;

void adicionar(int valor) { if (inicio == null) { inicio = new Elemento(); inicio.valor = valor; inicio.proximo = null; } else { Elemento auxiliar = inicio; while (auxiliar.proximo != null) { auxiliar = auxiliar.proximo; }

Elemento novo = new Elemento(); novo.valor = valor; novo.proximo = null; auxiliar.proximo = novo; } }

void adicionar(int valor, long indice) { // Validação do índice. // Deve estar entre 0 e n-1. long tamanho = tamanho(); long indiceDoUltimo = tamanho - 1; if (indice < 0 || indice > indiceDoUltimo) { throw new IndexOutOfBoundsException("Índice inválido."); }

if (indice == 0) { // Inserir elemento no inicio. Elemento auxiliar = new Elemento(); auxiliar.valor = valor; auxiliar.proximo = inicio; inicio = auxiliar; } else { // Inserir elemento depois do início. Elemento atual = buscarElemento(indice); Elemento anterior = buscarElemento(indice - 1);

// Criação do novo elemento. Elemento auxiliar = new Elemento(); auxiliar.valor = valor;

// Ajuste das referências. anterior.proximo = auxiliar; auxiliar.proximo = atual; } }

void remover(int valor) { // Lista vazia if (inicio == null) { return; }

// Buscar elemento que será removido e seu predecessor. Elemento auxiliar = inicio; Elemento anterior = null;

while (auxiliar.valor != valor) { if (auxiliar.proximo == null) { return; }

Relacionados

  • Lista simplesmente encadeada
    897 palavras | 4 páginas
  • Lista Simplesmente Encadeada
    2239 palavras | 9 páginas
  • Código de uma agenda usando lista simplesmente encadeada em linguagem c
    527 palavras | 3 páginas
  • Aula 01
    1337 palavras | 6 páginas
  • Listas Lineares
    2241 palavras | 9 páginas
  • gggg
    4564 palavras | 19 páginas
  • 632101 AED 6 Listas Pilhas Filas
    2643 palavras | 11 páginas
  • Atividade Estruturada
    1995 palavras | 8 páginas
  • fila
    251 palavras | 2 páginas
  • Pilhas e Filas
    1221 palavras | 5 páginas