Trilhas
/
Factor
Factor
/
Exercícios
/
Lista encadeada simples
Lista encadeada simples

Lista encadeada simples

Médio

Introdução

Você trabalha em uma empresa de streaming de música.

Você recebeu a tarefa de criar um recurso de playlist para o seu aplicativo de música.

Instruções

Escreva um protótipo do aplicativo de reprodução de música.

Para o protótipo, cada música será simplesmente representada por um número. Dado um intervalo de números (os IDs das músicas), crie uma lista simplesmente encadeada.

Dada uma lista simplesmente encadeada, você deve conseguir inverter a lista para tocar as músicas na ordem inversa.

Note

A lista encadeada é uma estrutura de dados fundamental na ciência da computação, e costuma ser usada na implementação de outras estruturas de dados.

O tipo mais simples de lista encadeada é a lista simplesmente encadeada. Isso significa que cada elemento (ou "nó") contém dados, junto com algo que aponta para o próximo nó da lista.

Se você quiser se aprofundar em listas encadeadas, dê uma olhada neste artigo, que explica o assunto com desenhos bem feitos.

Palavras

Defina uma tupla linked-list-node.

Defina uma tupla linked-list e forneça um método M: linked-list length (de sequences) para que os testes possam chamar length diretamente na sua lista.

  • <linked-list> ( -- linked-list ): constrói uma lista vazia.
  • >linked-list ( seq -- linked-list ): insere cada elemento de seq em uma lista nova, na ordem.
  • linked-list>array ( linked-list -- array ): retorna os valores, começando pelo topo da lista.
  • list-push ( linked-list value -- linked-list ): insere um valor no topo.
  • list-pop ( linked-list -- linked-list value ): remove e retorna o valor do topo.
  • list-peek ( linked-list -- value ): retorna o valor do topo sem removê-lo.
  • list-reverse ( linked-list -- linked-list ): retorna uma lista com os elementos em ordem inversa.

Lance uma classe de erro list-empty a partir de list-pop e list-peek quando a lista estiver vazia.

Editar via GitHub O link abre em uma nova janela ou aba
Factor Exercism

Tudo pronto para começar Lista encadeada simples?

Crie sua conta no Exercism para aprender e dominar Factor com 47 conceitos163 exercícios e mentoria humana de verdade, tudo de graça.