Percursos
/
C++
C++
/
Exercícios
/
Lista ligada simples
Lista ligada simples

Lista ligada simples

Médio

Introdução

Trabalhas numa empresa de streaming de música.

Deram-te a tarefa de criar uma funcionalidade de playlists para o teu reprodutor de música.

Instruções

Escreve um protótipo da aplicação de leitor de música.

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

Dada uma lista simplesmente ligada, deves conseguir inverter a lista para reproduzir as músicas pela ordem inversa.

Note

A lista ligada é uma estrutura de dados fundamental na informática, usada frequentemente na implementação de outras estruturas de dados.

O tipo mais simples de lista ligada é a lista simplesmente ligada. Isso significa que cada elemento (ou «nó») contém dados, a par de algo que aponta para o nó seguinte da lista.

Se quiseres aprofundar os teus conhecimentos sobre listas ligadas, espreita este artigo, que explica tudo com uns desenhos muito bons.

Sugestões de implementação

Fornecemos-te a estrutura geral de uma classe List. Tem as variáveis privadas head, do tipo Element*, e current_size, do tipo size_t, que podes usar.

A estrutura Element também foi fornecida e tem duas variáveis: data, do tipo int, e next, do tipo Element*.

Podes ver os detalhes em simple_linked_list.h. Não tens de alterar esse ficheiro, mas podes fazê-lo se for adequado às tuas necessidades.

Os testes usam as funções tal como são fornecidas em simple_linked_list.cpp, não alteres a assinatura delas. Podes acrescentar mais funções e membros, se quiseres.

Posso usar ponteiros inteligentes?

Embora o ficheiro de cabeçalho inclua ponteiros brutos, tens a liberdade de escolher uma implementação diferente.

Editar via GitHub A ligação abre numa nova janela ou separador
C++ Exercism

Estás pronto para começar Lista ligada simples?

Inscreve-te no Exercism para aprenderes e dominares C++ com 19 conceitos100 exercícios, e mentoria humana real, tudo grátis.