Tom: Arrays sortieren

Beitrag lesen

Hello,

PHP organsisiert die Daten als Listen, die man sich auch als verkettete Listen vorstellen darf. Miteinander verknüpfte (verkettete) Listen ergeben dann aber defininitionsgemäß eine Baumstruktur. Mit dieser Vorstellung kommt man auch am weitesten.

Wieso willst Du den Leuten eigentlich immer und immer wieder das Bild von verketteten Listen in den Kopf hämmern, wenn es um Arrays in PHP geht? Am anschaulichsten ist doch wirklich die Definition, daß ein Array-Element in PHP *alles* sein kann, z. B. auch ein anderes Array. Worin genau besteht der Verständnisgewinn Deiner Erklärung?

Es stimmt ja, daß bei den Arrays intern verkettete Listen zum Einsatz kommen (sogar mehr als Du vermutlich glaubst). Das ist aber ganz sicher nicht der entscheidende Aspekt der PHP-Arrays. Dieser besteht nämlich darin, daß die Arrays als Hash Maps implementiert sind, was eben dazu führt, daß z. B. *nicht* die ersten zwanzig Elemente einer Liste durchlaufen werden müssen, um auf das einundzwanzigste zuzugreifen.

Es geht um ein möglichst treffendes Vorstellungsmodell.
Eine beidseitig verkettete Liste mit isolierten Listpointern trifft dies am besten.

  • Man kann Elemente in die Liste einhängen. Standard ist das Ende,
      man kann aber an jeder Stelle Elemente einhängen.

  • Die Elemente stehen einzeln. Das heißt, ihre Position im Speicher hat nichts
      mit ihrem Index zu tun. Ihre Position in der Liste ist nicht von der Liste
      abhängig (wo gerade ein freier Platz ist), sondern nur über ihre Vorgänger- und
      Nachfolgerelemente bestimmbar. Man muss die Kette ablaufen.

  • Der "Index" gehört zum Element und nicht zur Liste, auch wenn sichergestellt wird,
      dass es ihn in der Kette nicht doppelt geben kann.

  • Über den Index alleine lässt sich die Position in der Kette (Liste) nicht bestimmen.
      Die Position in der Liste kann unabhängig vom Index gewählt werden.

  • Man kann in einer Liste vorwärts und rückwärts navigiern, nicht jedoch springen

  • Listen können weitere Listen enthalten. Dies ist eine der Definitionen für eine Baumstruktur

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de