Εργάζεσαι σε μια εταιρεία streaming μουσικής.
Σου έχει ανατεθεί να δημιουργήσεις μια δυνατότητα λίστας αναπαραγωγής για την εφαρμογή αναπαραγωγής μουσικής σου.
Γράψε ένα πρωτότυπο της εφαρμογής αναπαραγωγής μουσικής.
Για το πρωτότυπο, κάθε τραγούδι θα αναπαρίσταται απλά από έναν αριθμό. Δεδομένου ενός εύρους αριθμών (των αναγνωριστικών των τραγουδιών), δημιούργησε μια απλά συνδεδεμένη λίστα.
Δεδομένης μιας απλά συνδεδεμένης λίστας, θα πρέπει να μπορείς να αντιστρέψεις τη λίστα για να παίξεις τα τραγούδια με την αντίθετη σειρά.
Η συνδεδεμένη λίστα είναι μια θεμελιώδης δομή δεδομένων στην επιστήμη των υπολογιστών, που χρησιμοποιείται συχνά στην υλοποίηση άλλων δομών δεδομένων.
Το πιο απλό είδος συνδεδεμένης λίστας είναι η απλά συνδεδεμένη λίστα. Αυτό σημαίνει ότι κάθε στοιχείο (ή "κόμβος") περιέχει δεδομένα, μαζί με κάτι που δείχνει στον επόμενο κόμβο της λίστας.
Αν θέλεις να εμβαθύνεις στις συνδεδεμένες λίστες, ρίξε μια ματιά σε αυτό το άρθρο που τις εξηγεί με ωραία σχέδια.
Για να ολοκληρώσεις αυτή την άσκηση, πρέπει να δημιουργήσεις τον τύπο δεδομένων LinkedList
και να υλοποιήσεις τις παρακάτω συναρτήσεις:
datumfromListisNilnewnextnilreverseLinkedListtoListΘα βρεις μια εικονική δήλωση δεδομένων και υπογραφές τύπων που υπάρχουν ήδη, αλλά είναι στο χέρι σου να ορίσεις τις συναρτήσεις και να δημιουργήσεις έναν ουσιαστικό τύπο δεδομένων, newtype ή συνώνυμο τύπου.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Haskell με 107 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.