Pointer, Arrays und verkettete Listen. Mehrdimensionale Arrays  Pointer auf ein Array von Pointern  int32 **matrix = new int32*[3];  matrix: Zeiger.

Slides:



Advertisements
Ähnliche Präsentationen
Imperative Programmierung
Advertisements

Klassen - Verkettete Liste -
<d,a,s, ,i,s,t, ,e,i,n,e, ,L,i,s,t,e>
Kapitel 3: Listen Lineare Liste: endliche Folge von Elementen eines Grundtyps (n>=0), leere Liste falls n=0 Listenelemente besitzen.
der Universität Oldenburg
Sequentielle Liste - Array
Java: Dynamische Datentypen
Listen Richard Göbel.
Sortierverfahren Richard Göbel.
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Dynamisches Array als "verkettete Liste". Ein Vergleich.
Polymorphie (Vielgestaltigkeit)
Dynamischer Speicher. In einer Funktion wird z.B. mit der Deklaration int i; Speicher auf dem sogenannten Stack reserviert. Wenn die Funktion verlassen.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (05 – Elementare Datenstrukturen) Prof. Th. Ottmann.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 7 Claudio Moraga, Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Operationen auf verketteten Listen
IKG - Übung Diskrete Mathe I – Jörg Schmittwilken
Vorbereitung: struct SX { int x; struct SX *p; } *px, *ph; px: Zeiger auf Listen- anfang ph: Hilfszeiger px = NULL; px zeigt auf leere Liste px.
Verkettete Liste Visualisierung. New-Operator Mit dem New-Operator kann zur Laufzeit (dynamisch) Speicherplatz reserviert und angelegt werden Vorteil:
Listen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang
EDV1 - Komplexe Datentypen
Arrays,Strings&Pointer in C/C++
Wir müssen also überlegen: Implementierung der Knoten, Implementierung der Kanten, daraus: Implementierung des Graphen insgesamt. Annahme: die Knoteninhalte.
Einfach verkettete Listen
Einfach verkettete Listen (OOP)
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Eine Implementierung einer effiziente externe geordnete (!) lineare Liste Operationen: Search(x) Insert(x) Delete(x)
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Repetitorium PG : Pointer FH-Darmstadt, FB Informatik.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
Einführung in die Programmiersprache C 4
Informatik 1 Letzte Übung.
Vom Umgang mit Daten. public void myProgram() { int[] saeulenWerte = new int[world.getSizeX()]; for (int i = 0; i < saeulenWerte.length; i++) { saeulenWerte[i]
Algorithmen und Datenstrukturen Übungsmodul 6
Dynamische Datentypen
Einfach und doppelt verkettete Listen in JAVA by Jens Weibler
Programmieren in C Dynamische Listen / Bäume
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Thomas Hilpold: Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger.
Arrays / Felder Themen: Arrays / Felder / Vektoren Was soll das eigentlich? Erstellen von Arrays Arrays auslesen. Wie sie verwaltet werden.
Arrays und ArrayLists In JAVA.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Programmiervorkurs WS 2014 Referenzdatentypen
Arrays und ArrayLists In JAVA.
A Workshop About this chapter General description Units Time Schedule
Sammlungsklassen Array.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Felder (Arrays).
Dynamisches Array als "verkettete Liste". Ein Vergleich.
Funktionen, Felder und Parameter- übergabe. Funktionsaufruf mit Feld als Parameter: Parameter = Name des Feldes.
Pointer. Precompiled Header  Vorübersetzung eingebundener Dateien häufig genutzt, selten geändert  Projekttyp „Win32 Console Application“
Variablen und Operatoren. C++ Teil 2: Grundstrukturen Variablen Operatoren Kontrollstrukturen Funktionen Header-Dateien Pointer und Referenzen.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
C++ FÜR cOMPUTERSPIELENTWICKLER
Tutorium Software-Engineering SS14 Florian Manghofer.
Pointer. * und &  Bei der Definition int var1; ○ // „normale“ Variable int *var2; ○ // Zeiger auf einen Integer int *var2 = NULL; ○ // … incl. Initialisierung.
ESP Tutorium Studienassistent: Ewald Moitzi Gruppe 1.
Programmieren in C Dynamische Listen / Bäume
Klausur „Diskrete Mathematik II“
Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
Arrays in C Ein Array ist eine Variable, die aus einer Anzahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
Felder in der Informatik
Arrays of Objects, a 3 part process
Schleifen Datenfelder (Arrays) Verzweigungen
 Präsentation transkript:

Pointer, Arrays und verkettete Listen

Mehrdimensionale Arrays  Pointer auf ein Array von Pointern  int32 **matrix = new int32*[3];  matrix: Zeiger auf das erste Element eines Arrays von Pointern auf int32  *matrix: Zeiger auf einen int32 (im Augenblick nicht definiert) matrix *matrix

Mehrdimensionale Arrays  matrix[0] = new int32[2];  erstes Element des Arrays Matrix zeigt auf int32-Array mit 2 Elementen  matrix[0][0] = 42; matrix *matrix matrix[0][0]

Aufgabe 11: Mehrdimensionale dynamische Arrays  Erstelle eine dynamische Matrix der Größe 3 x 2  Initialisiere die Felder der Matrix mit dem Wert Zeile + Spalte  Gib die Matrix in der Konsole aus  Vergiss nicht, den Speicher wieder freizugeben! int32 **matrix = new int32*[3]; matrix[0] = new int32[2];

Kommandozeilenparameter int main(int argc, char *argv[])  argc – gibt die Anzahl der übergebenen Parameter an  argv – Pointer auf ein Array von Pointern, die auf ein Array vom Typ char zeigen  erster Parameter ist immer des Programmname  Kommandozeilenparameter zum debuggen Project > Projektname-Eigenschaften… Konfigurationseigenschaften > Debugging Command Arguments

Aufgabe 12: Ausgabe der Kommandozeilenparameter  Erstelle ein Programm, welches alle übergebenen Kommandozeilenparameter in die Konsole ausgibt Parameter 1:xxxxx Parameter 2:yyyyy …  Stelle das Projekt so ein, dass es beim Debuggen automatisch mit den Parametern 'eins' 'zwei' 'drei' aufgerufen wird.

Verkettete Listen  Zugriff über Vorgänger / Nachfolger der Liste  Neues Element wird erzeugt und in die Liste eingefügt  Einfaches Löschen durch „verbiegen“ der Zeiger des Vorgänger- und Nachfolgerelementes  Aber: Zugriff auf bestimmtes Element aufwändiger als beim Array Inhalt des 1. Elementes prevnext Inhalt des 2. Elementes prevnext Inhalt des 3. Elementes prevnext anchor NULL

Verkettete Listen über structs struct LListNode { int32 data;// represents the data LListNode *prev;// previous list element LListNode *next;// next list element };  Anker-Zeiger auf erstes Listenelement  Zugriff auf den Inhalt über Dereferenzierer ->  anchor->data; // Zugriff auf den Inhalt des ersten Elementes der Liste

Aufgabe 13: Verkettete Listen  Erstelle eine Funktionen zum Hinzufügen eines Elementes zur verketteten Liste (Verwende die in den vorhergehenden Folien verwendeten Elemente)  Füge eine Reihe zufälliger, ungeordneter Zahlen (z.B. das Zufallsarray aus der Aufgabe „Suche und Finde“) so in die verkettete Liste ein, dass diese sortiert ist.  Gib die verkettete Liste in die Konsole aus