Διαδρομές
/
C++
C++
/
Ασκήσεις
/
Απλή συνδεδεμένη λίστα
Απλή συνδεδεμένη λίστα

Απλή συνδεδεμένη λίστα

Μέτριο

Εισαγωγή

Εργάζεσαι σε μια εταιρεία streaming μουσικής.

Σου έχει ανατεθεί να δημιουργήσεις μια δυνατότητα λίστας αναπαραγωγής για την εφαρμογή αναπαραγωγής μουσικής σου.

Οδηγίες

Γράψε ένα πρωτότυπο της εφαρμογής αναπαραγωγής μουσικής.

Για το πρωτότυπο, κάθε τραγούδι θα αναπαρίσταται απλά από έναν αριθμό. Δεδομένου ενός εύρους αριθμών (των αναγνωριστικών των τραγουδιών), δημιούργησε μια απλά συνδεδεμένη λίστα.

Δεδομένης μιας απλά συνδεδεμένης λίστας, θα πρέπει να μπορείς να αντιστρέψεις τη λίστα για να παίξεις τα τραγούδια με την αντίθετη σειρά.

Note

Η συνδεδεμένη λίστα είναι μια θεμελιώδης δομή δεδομένων στην επιστήμη των υπολογιστών, που χρησιμοποιείται συχνά στην υλοποίηση άλλων δομών δεδομένων.

Το πιο απλό είδος συνδεδεμένης λίστας είναι η απλά συνδεδεμένη λίστα. Αυτό σημαίνει ότι κάθε στοιχείο (ή "κόμβος") περιέχει δεδομένα, μαζί με κάτι που δείχνει στον επόμενο κόμβο της λίστας.

Αν θέλεις να εμβαθύνεις στις συνδεδεμένες λίστες, ρίξε μια ματιά σε αυτό το άρθρο που τις εξηγεί με ωραία σχέδια.

Υποδείξεις υλοποίησης

Σου έχουμε δώσει τη γενική δομή μιας κλάσης List. Έχει τις ιδιωτικές μεταβλητές head τύπου Element* και current_size τύπου size_t που μπορείς να χρησιμοποιήσεις.

Η δομή Element δόθηκε επίσης, έχει δύο μεταβλητές: data τύπου int και next τύπου Element*.

Μπορείς να δεις τις λεπτομέρειες στο simple_linked_list.h. Δεν χρειάζεται να αλλάξεις αυτό το αρχείο, αλλά μπορείς αν εξυπηρετεί τις ανάγκες σου.

Τα tests χρησιμοποιούν τις συναρτήσεις όπως παρέχονται στο simple_linked_list.cpp, μην αλλάξεις την υπογραφή τους. Μπορείς να προσθέσεις περισσότερες συναρτήσεις και μέλη αν θέλεις.

Μπορώ να χρησιμοποιήσω έξυπνους δείκτες;

Παρόλο που το αρχείο κεφαλίδας περιλαμβάνει ακατέργαστους δείκτες, μπορείς ελεύθερα να επιλέξεις διαφορετική υλοποίηση.

Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
C++ Exercism

Έτοιμος να ξεκινήσεις την άσκηση Απλή συνδεδεμένη λίστα;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις C++ με 19 έννοιες100 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.