Читать книгу Algorithmen und Datenstrukturen - Gunter Saake - Страница 50

2.3.5Felder und Zeichenketten

Оглавление

Eine ganze Reihe weiterer Datentypen werden im Laufe dieses Buches behandelt. Für die praktischen Übungen, ein paar Beispiele und die Umsetzung in Java sind einige Datentypen besonders relevant, die wir nun kurz skizzieren werden:

Datentyp char für Zeichen

 Der Datentyp char hat als Wertebereich die Zeichen in Texten {A, .., Z, a, ..} mit der einzigen Operation =. Als Erweiterung kann man Operationen für die lexikographische Ordnung und eine Nachfolgerfunktion definieren.

string für Zeichenketten

 Der Datentyp string hat als Wertebereich Zeichenketten über Zeichen in char.Für Zeichenketten sind eine ganze Reihe von Operationen sinnvoll:

 Gleichheit: =

 Konkatenation (»Aneinanderhängen«): +

 Selektion des i-ten Zeichens: s[i]

 Länge: length

 jeder Wert aus char wird als ein string der Länge 1 aufgefasst, wenn er wie folgt notiert wird: "A"

 empty oder auch ε als leerer string der Länge 0

 weitere Operatoren, etwa substring

array für Felder

 Der Datentyp array erlaubt die Definition von »Feldern« mit Werten eines Datentyps als Eintrag, wobei die Ausdehnung fest vorgegeben ist. Ein Array kann eindimensional oder auch mehrdimensional sein und ist damit das Gegenstück zu den mathematischen Konstrukten Vektor und Matrix.Beispiele für Werte dieses Datentyps sind im Falle von Feldern über ganze Zahlen die folgenden Werte:In diesen Beispielen sind die Dimensionen jeweils auf 3 Werte begrenzt. Eine Definition der zugehörigen Wertebereiche könnte wie folgt aussehen:array 1..3 of int;array 1..3, 1..3 of int;Mit den Angaben 1..3 werden die einzelnen Elemente selektierbar oder auch adressierbar. Einige Programmiersprachen, so auch Java, ziehen es vor, mit der Adressierung bei 0 anstelle von 1 zu beginnen – das Prinzip bleibt dasselbe.Typische Operationen auf Feldern sind die folgenden:Gleichheit: =Selektion eines Elementes aus einem Feld A : A[n] oder A[1, 2]Konstruktion eines Feldes: (1, 2, 3) oder ((1, 2, 3), (3, 4, 5), (6, 7, 8))

Datentypkonstruktoren

Letzterer Datentyp ist genau genommen ein Datentypkonstruktor, da mit ihm Felder verschiedener Ausdehnung, Dimensionalität und verschiedener Basisdatentypen gebildet werden können, die jeweils unterschiedliche Datentypen darstellen. Diese Art von Datentypen wird später noch genauer behandelt; die bisherigen Erläuterungen reichen aber aus, um Felder in Beispielen nutzen zu können.

Algorithmen und Datenstrukturen

Подняться наверх