Konkatenation (Listen)

Konkatenation (Listen)

Die Konkatenation ist eine Operation auf listenartigen Datenstrukturen. Eine Liste besteht aus einer Folge von Objekten in einer definierten Reihenfolge. Eine Konkatenation besteht darin, zwei Listen zu einer einzigen Liste zusammenzufügen, ohne die Reihenfolge der Elemente zu verändern. Der erste Teil der neu zusammengefügten Liste wird von der ersten Argumentliste gebildet, der zweite Teil von der zweiten Argumentliste.

Inhaltsverzeichnis

Beispiel

Eine Liste L bestehe aus den Objekten l1l2...li. Eine Liste M bestehe aus den Elementen m1m2...mj.

Durch eine Konkatenation werden diese beiden Listen zu einer einzigen Liste L\circ M = l_1 l_2 ... l_i m_1 m_2 ... m_j zusammengefügt. Die Reihenfolge der Objekte innerhalb der Teillisten wurde dabei nicht verändert.

Graphische Darstellung

Ein Objekt

Die Bilder zeigen wie ein Objekt, die Liste L und die Liste M graphisch dargestellt werden.

Liste L
Liste M


Hinweis

Es ist wichtig bei der Konkatenation zu beachten, dass man die Zeiger sinnvoll verbiegt (s. Pseudocode), damit man bis zum Schluss noch Zugriff auf die beiden Einzellisten hat. Sonst könnte es passieren, dass man die Konkatenation nicht richtig durchführt und keinen Zugriff mehr erhält, weil einzelne Zeiger schon überschrieben worden sind.

Pseudocode

Zeile 1. M  → next → prev = L → prev   
Zeile 2. M  → prev → next = L
Zeile 3. L  → prev → next = M → next
Zeile 4. L  → prev        = M → prev
Zur Sicherheit den Dummy der Liste M freigeben. 
Zeile 5. M → next = NIL
Zeile 6. M → prev = NIL
Zeile 7. M = NIL

Wobei man NIL (Not in List) mit der Zuweisung von NULL vergleichen kann.

Kommentare zum Pseudocode

Zeile 1: Vorgänger von m1 ist das letzte Objekt aus der Liste L.

Zeile 2: Nachfolger vom letzten Objekt der Liste M ist der Dummy von Liste L.

Zeile 3: Nachfolger vom letzten Objekt der Liste L ist das erste von Liste M.

Zeile 4: Vorgänger des Dummys der Gesamtliste ist mj

Zeile 5: Dummy von M, und M selbst freigeben.

Liste nach der Konkatenation


Zeichenketten als Spezialfall

Ein häufiger Spezialfall ist die Konkatenation (Verkettung) von Zeichenketten. In diesem Fall bestehen die Listen aus einzelnen Zeichen und werden zu einer einzigen Zeichenkette zusammengefügt. Die beiden Zeichenketten „Wiki” und „pedia” lassen sich etwa mittels Konkatenation zur Zeichenkette „Wikipedia” zusammenfügen.


Wikimedia Foundation.

Игры ⚽ Нужен реферат?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Konkatenation — (von latein. catena „Kette“) steht für: Konkatenation (Formale Sprache), in der Theorie formaler Sprachen eine Verkettung zwischen Sprachen Konkatenation (Listen), in der Informatik eine Operation auf listenartigen Strukturen Konkatenation… …   Deutsch Wikipedia

  • Konkatenieren — Konkatenation (von latein. catena „Kette“) steht für: Konkatenation (Formale Sprache), in der Theorie formaler Sprachen eine Verkettung zwischen Sprachen Konkatenation (Listen), in der Informatik eine Operation auf listenartigen Strukturen… …   Deutsch Wikipedia

  • Konkatenierung — Konkatenation (von latein. catena „Kette“) steht für: Konkatenation (Formale Sprache), in der Theorie formaler Sprachen eine Verkettung zwischen Sprachen Konkatenation (Listen), in der Informatik eine Operation auf listenartigen Strukturen… …   Deutsch Wikipedia

  • Datentypen — Formal bezeichnet ein Datentyp in der Informatik die Zusammenfassung von Objektmengen mit den darauf definierten Operationen. Dabei werden durch den Datentyp des Datensatzes unter Verwendung einer so genannten Signatur ausschließlich die Namen… …   Deutsch Wikipedia

  • Ordinale Datentypen — Formal bezeichnet ein Datentyp in der Informatik die Zusammenfassung von Objektmengen mit den darauf definierten Operationen. Dabei werden durch den Datentyp des Datensatzes unter Verwendung einer so genannten Signatur ausschließlich die Namen… …   Deutsch Wikipedia

  • Ordinaler Datentyp — Formal bezeichnet ein Datentyp in der Informatik die Zusammenfassung von Objektmengen mit den darauf definierten Operationen. Dabei werden durch den Datentyp des Datensatzes unter Verwendung einer so genannten Signatur ausschließlich die Namen… …   Deutsch Wikipedia

  • Primitiver Datentyp — Formal bezeichnet ein Datentyp in der Informatik die Zusammenfassung von Objektmengen mit den darauf definierten Operationen. Dabei werden durch den Datentyp des Datensatzes unter Verwendung einer so genannten Signatur ausschließlich die Namen… …   Deutsch Wikipedia

  • Merge-Sort — Mergesort ist ein rekursiver, stabiler Sortieralgorithmus, der ähnlich wie Quicksort nach dem Prinzip Teile und herrsche (lat. Divide et impera, engl. Divide and Conquer) arbeitet. Er wurde erstmals 1945 durch John von Neumann vorgestellt. Der… …   Deutsch Wikipedia

  • MergeSort — ist ein rekursiver, stabiler Sortieralgorithmus, der ähnlich wie Quicksort nach dem Prinzip Teile und herrsche (lat. Divide et impera, engl. Divide and Conquer) arbeitet. Er wurde erstmals 1945 durch John von Neumann vorgestellt. Der zusätzliche… …   Deutsch Wikipedia

  • Merge Sort — Mergesort ist ein rekursiver, stabiler Sortieralgorithmus, der ähnlich wie Quicksort nach dem Prinzip Teile und herrsche (lat. Divide et impera, engl. Divide and Conquer) arbeitet. Er wurde erstmals 1945 durch John von Neumann vorgestellt. Der… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”