Lavori per un'azienda di streaming musicale.
Il tuo compito è creare una funzionalità playlist per l'applicazione di riproduzione musicale.
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.
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.
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.
Iscriviti a Exercism per imparare e padroneggiare Factor con 47 concetti163 esercizi e il mentoring di persone reali, tutto gratis.