der Vorteil einer verketteten Liste ist weniger Speicherverwürfelung, erzeuge ich eine Liste mit 10 Elementen und ist diese dynamisch aber im Speicher als Array konzipiert, ist der Zugriff auf einzelne Elemente schneller als bei eienr verketteten Liste. Eine Änderung der größe bedingt dann allerdings dass man genug Platz übrig haben muss und ggf. die ganze Liste irgendwo neu hinkopieren muss.
Eine verkettete Liste muss nur das Speicher-Objekt erzeugen und die Kettenglieder verlinken, daher habe ich das extra erwähnt, allerdings auf kosten der Suchzeit nach Einzel-Elementen, da man erst die Elemente einzeln über die Kettenglieder ablaufen muss (gerade auf dem meist begrenztem RAM eines µC)
Rand Info: C# und Java brauchen kein "klassisches" Speicher Management bei dem man sich selbst um das löschen der Objekte kümmern muss, die lassen das Objekt einfach liegen und ein Mechanismus genannt Garbage Collector räumt hinterher auf, indem er zur Laufzeit (ich meiner hier die Zeit wenn die Applikation arbeitet und nicht pausiert ist) die Objekte im Speicher prüft ob noch Refereenzen darauf existieren und diese ggf. zum löschen markiert. In einem kurzen Zeitfenster, in dem die Applikation dann angehalten wird, löscht er die Objekte aus dem Speicher. (ACHTUNG: das war sehr vereinfacht und umfasst nichtmal 10% der tatsächlichen Speicheverwaltung oder Nebenwirkungen die damit einhergehen)
Lesezeichen