Lista simplesmente encadeada

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (379 palavras )
  • Download(s) : 0
  • Publicado : 31 de agosto de 2011
Ler documento completo
Amostra do texto
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(intvalor, 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 depoisdo início.
Elemento atual = buscarElemento(indice);
Elemento anterior = buscarElemento(indice - 1);

// Criação do novo elemento.
Elementoauxiliar = 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;
}...
tracking img