Track
/
Factor
Factor
/
Esercizi
/
Lista concatenata semplice
Lista concatenata semplice

Lista concatenata semplice

Medio

Introduzione

Lavori per un'azienda di streaming musicale.

Il tuo compito è creare una funzionalità playlist per l'applicazione di riproduzione musicale.

Istruzioni

Scrivi un prototipo dell'applicazione del lettore musicale.

Per il prototipo, ogni brano sarà semplicemente rappresentato da un numero. Dato un intervallo di numeri (gli ID dei brani), crea una lista concatenata semplice.

Data una lista concatenata semplice, dovresti poter invertire la lista per riprodurre i brani in ordine inverso.

Note

La lista concatenata è una struttura dati fondamentale dell'informatica, spesso usata per implementare altre strutture dati.

La versione più elementare è la lista concatenata semplice. Questo significa che ogni elemento (o «nodo») contiene dei dati, insieme a qualcosa che punta al nodo successivo della lista.

Se vuoi approfondire le liste concatenate, dai un'occhiata a questo articolo che lo spiega con dei bei disegni.

Parole

Definisci una tupla linked-list-node.

Definisci una tupla linked-list e fornisci un metodo M: linked-list length (da sequences). In questo modo i test possono chiamare length direttamente sulla lista.

  • <linked-list> ( -- linked-list ): costruisci una lista vuota.
  • >linked-list ( seq -- linked-list ): inserisci ogni elemento di seq in cima a una nuova lista, in ordine.
  • linked-list>array ( linked-list -- array ): restituisci i valori, a partire dal valore in cima alla lista.
  • list-push ( linked-list value -- linked-list ): inserisci un valore in cima.
  • list-pop ( linked-list -- linked-list value ): rimuovi e restituisci il valore in cima.
  • list-peek ( linked-list -- value ): restituisci il valore in cima senza rimuoverlo.
  • list-reverse ( linked-list -- linked-list ): restituisci una lista con gli elementi in ordine inverso.

Lancia una classe di errore list-empty da list-pop e list-peek quando la lista è vuota.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Factor Exercism

Vuoi iniziare Lista concatenata semplice?

Iscriviti a Exercism per imparare e padroneggiare Factor con 47 concetti163 esercizi e il mentoring di persone reali, tutto gratis.