Skip to content

Instantly share code, notes, and snippets.

@marvinferreira
Created April 23, 2017 16:47
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save marvinferreira/598a1a3295dfa80755325ea325b5c076 to your computer and use it in GitHub Desktop.
Save marvinferreira/598a1a3295dfa80755325ea325b5c076 to your computer and use it in GitHub Desktop.
Código em java referente a estrutura de lista encadeada.
public class Lista {
private static class No{
public No prox; // próximo nó na lista
public int valor; // elemento (valor) armazenado na lista
public No (int val){ //construtor do nó da lista
valor = val; prox = null;
}
}
private No inicio; //representa a cabeça (início) da lista
public Lista(){ // construtor da lista
inicio = null;
}
public boolean isEmpty(){
return inicio == null;
}
public boolean search( int elem){
for(No nodo = inicio; nodo != null; nodo = nodo.prox)
if (elem == nodo.valor) return true; //econtrou o elemento
return false; // não encontrou o elemento
}
public void insereInicio(int elem){ //insere no início da lista
No novoNo = new No(elem);
novoNo.prox = inicio; //novoNo -> inicio antigo
inicio = novoNo; // inicio -> novoNo
}
public void removeInicio(){ //elimina o primiro item da lista
inicio = inicio.prox; // elimina o elemento e reposiciona o início
}
public String exibeLista(){
if(isEmpty()) return "Lista vazia\n"; //teste de lista vazia
String str = "Lista Encadeada: ";
for (No nodo = inicio; nodo != null; nodo = nodo.prox)
str+= " "+ nodo.valor;
return str + "\n";
}
}// fim da classe Lista
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment