Du arbeitest für ein Musik-Streaming-Unternehmen.
Du hast die Aufgabe bekommen, ein Playlist-Feature für deine Musikplayer-App zu entwickeln.
Schreib einen Prototyp einer Musikplayer-Anwendung.
Für den Prototyp wird jeder Song einfach durch eine Zahl dargestellt. Erstelle aus einem Bereich von Zahlen (den Song-IDs) eine einfach verkettete Liste.
Bei einer einfach verketteten Liste solltest du die Liste umkehren können, um die Songs in umgekehrter Reihenfolge abzuspielen.
Die verkettete Liste ist eine grundlegende Datenstruktur in der Informatik und wird oft bei der Implementierung anderer Datenstrukturen verwendet.
Die einfachste Art der verketteten Liste ist die einfach verkettete Liste. Das bedeutet, dass jedes Element (oder „Knoten“) Daten enthält, zusammen mit etwas, das auf den nächsten Knoten in der Liste zeigt.
Wenn du tiefer in verkettete Listen eintauchen möchtest, schau dir diesen Artikel an, der sie mit schönen Zeichnungen erklärt.
Wir haben dir die allgemeine Struktur einer List-Klasse vorgegeben.
Sie hat die privaten Variablen head vom Typ Element* und current_size vom Typ size_t, die du verwenden kannst.
Die Struktur Element ist ebenfalls vorgegeben, sie hat zwei Variablen: data vom Typ int und next vom Typ Element*.
Die Details kannst du in simple_linked_list.h sehen. Du musst diese Datei nicht ändern, aber du kannst es, wenn es für dich passt.
Die Tests verwenden die Funktionen so, wie sie in simple_linked_list.cpp vorgegeben sind. Ändere ihre Signatur nicht. Du kannst weitere Funktionen und Member hinzufügen, wenn du möchtest.
Auch wenn die Header-Datei Raw Pointer enthält, steht es dir frei, eine andere Implementierung zu wählen.
Melde dich bei Exercism an, um C++ mit 19 Konzepte100 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.