Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: JavaScript ::: Estruturas de Dados ::: Lista Ligada Simples

Como inserir um nó no início de uma lista singularmente ligada em JavaScript

Quantidade de visualizações: 1058 vezes
Nesta dica eu mostrarei, em detalhes, como podemos inserir nós no início de uma lista ligada simples (singly linked list) em JavaScript. Note que mostrarei também a classe No usada para o exemplo, assim como o método exibir() que permitirá imprimir todos os nós na lista encadeada simples e seus valores correspondentes. Em mais dicas desta seção você aprenderá como implementar os demais métodos.

Vamos começar então com o código para a classe No da lista singularmente ligada (que salvei em um arquivo no_lista_singularmente_ligada.js):

// classe No para uma lista singularmente encadeada ou
// ligada - Singly Linked List
class No{
  // construtor da classe No
  constructor(info, proximo){
    this.info = info;
    this.proximo = proximo;
  }
	
  // método que permite definir o conteúdo do nó
  setInfo(info){
    this.info = info;
  }

  // método que permite obter a informação de um nó 
  getInfo(){
    return this.info;
  }

  // método que permite definir o campo próximo deste nó
  setProximo(proximo){
    this.proximo = proximo;


Veja que o código para a classe Nó não possui muitas firulas. Temos apenas um campo info, que guardará o valor do nó, e um campo próximo, que aponta para o próximo nó da lista, ou null, se este for o único nó ou o último nó da lista ligada.

Veja agora o código para a classe ListaLigadaSimples (lista_ligada_simples.js):

// classe ListaLigadaSimples   
class ListaLigadaSimples{
  // construtor da classe
  constructor(){
    this.inicio = null // nó inicial da lista
  }
	
  // método que permite inserir um novo nó no início da lista
  inserirInicio(info){
    // cria um novo nó contendo a informação e que
    // não aponta para nenhum outro nó
    var novoNo = new No(info, null);
    
    // a lista ainda está vazia?
    if(this.inicio == null){
      // o novo nó será o início da lista  
      this.inicio = novoNo;
    }
    else{
      // o novo nó aponta para o início da lista
      novoNo.setProximo(this.inicio);
      // o novo nó passa a ser o início da lista
      this.inicio = novoNo;
    }
  }

  // método que permite exibir todos os nós da lista
  // ligada simples (lista singularmente encadeada)


E agora a página HTML (com uma função JavaScript) que testa a lista encadeada simples:

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html;
 charset=iso-8859-1" />
  
<title>Estruturas de Dados em JavaScript</title>
   
<!-- importa as classes No e ListaLigadaSimples //-->
<script src="no_lista_singularmente_ligada.js?hora=435545423">
</script>
<script src="lista_ligada_simples.js?hora=435545423">
</script>   
   
</head>
<body onLoad="contruirListaLigada()">
  
<script type="text/javascript">
  function contruirListaLigada(){
    // cria uma nova lista encadeada simples
    var lista = new ListaLigadaSimples();

    // insere vários valores, sempre no início da lista
    lista.inserirInicio(30);


Ao abrir esta página no seu navegador você o seguinte resultado:

59
830
4
98
71
30

Você deve estar se perguntando o porquê de colocar "?hora=435545423" junto com o nome do arquivo .js a ser importado. Isso nos ajuda a evitar o cache do arquivo .js por parte do navegador. Dessa forma, todas as vezes que você fizer alterações nos arquivos que contem a classe Nó e a classe Lista, você só precisa alterar esse número e o navegador esquecerá o cache e carregará a nova versão.

Observe também que coloquei a função que testa a lista ligada no evento onLoad() da página. Isso é necessário para dar tempo ao navegador de carregar os dois arquivos .js completamente. Pense no desastre que seria iniciar a execução dos métodos da lista sem que a classe Nó estivesse disponível.

Link para compartilhar na Internet ou com seus amigos:

Desafios, Exercícios e Algoritmos Resolvidos de JavaScript

Veja mais Dicas e truques de JavaScript

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 23 usuários muito felizes estudando em nosso site.