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.

Slides:



Advertisements
Ähnliche Präsentationen
Vorbereitung: struct knoten { int x; struct knoten *l, *r; } *b, *bh, **bp; b: Zeiger auf Wurzel bh: Hilfszeiger bp: Zeiger auf Zeiger auf knoten b bp.
Advertisements

Sortieren I - Bubblesort -
Hochschule Fulda – FB ET Sommersemester 2010
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 – B-Bäume)
Prioritätswarteschlangen
Kapitel 6. Suchverfahren
<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.
Synonyme: Stapel, Keller, LIFO-Liste usw.
Sortieren mit Binären Bäumen
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Dynamisches Array als "verkettete Liste". Ein Vergleich.
Dynamischer Speicher und Struktur
SQL als Abfragesprache

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
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 10 Claudio Moraga; Gisbert Dittrich FBI Unido
Operationen auf verketteten Listen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
Verkettete Liste Visualisierung. New-Operator Mit dem New-Operator kann zur Laufzeit (dynamisch) Speicherplatz reserviert und angelegt werden Vorteil:
Externe Datenstruktur lineare Liste
ExKurs Darstellen 1/6 Dr. Barbara Hoffmann LiteraturKompetenz Darstellen des Datenbankinhalts citavi verwaltet die erfassten biblio- grafischen.
Arrays,Strings&Pointer in C/C++
Vortrag: Ingo Gensch, Mathias Reich am:
Weiteres Programm Studium des Breitendurchlaufs Hierzu
Wir müssen also überlegen: Implementierung der Knoten, Implementierung der Kanten, daraus: Implementierung des Graphen insgesamt. Annahme: die Knoteninhalte.
Inhalt danach. inhalt danach inhalt danach inhalt danach inhalt danach inhalt danach.
Einfach verkettete Listen
Einfach verkettete Listen (OOP)
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Efficient Alias Set Analysis Using SSA Form Proseminar Programmanalyse WS 11/12 André Hunke.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
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 Programmiersprache C 4
Informatik 1 Letzte Übung.
Graphen und Bäume.
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.
5. Zeiger und komplexe Datenstrukturen
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
1 // Verkettete Liste 3 // demonstriert verkettete Listen und // Rekursion // (mit Entfernen eines Listenelementes) // #include struct Liste { int Element;
Diskrete Mathe II Übung IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 2 Übung5 Prüft, ob sich folgende Segmente schneiden: –P1(1/7) P2(3/1)
Binärer Suchbaum IV AVL-Baum I
M a r c – o l i v e r p a h l Informatik II – Kapitel 12 „Sortier-Algorithmen“ Zusammenfassung des Kapitel 12 Küchlin, Weber, Einführung in die Informatik,
Meine zweite Präsentation Folien sortieren - Anzeigedauer verändern.
Diskrete Mathe Diskrete Mathematik I Listen Vorlesung 4.
Binärbäume.
Sortierverfahren Mit VB 2010 express edition JBS Tr, info Q1.
1 // Verkettete Liste 2 // demonstriert verkettete Listen und // Rekursion // (Einfügen am "Fuß") // #include struct Liste { int Element; Liste *weiter;
Pointer, Arrays und verkettete Listen. Mehrdimensionale Arrays  Pointer auf ein Array von Pointern  int32 **matrix = new int32*[3];  matrix: Zeiger.
Tutorium Software-Engineering SS14 Florian Manghofer.
Strukturen (Eigenschaften) Strukturen dienen zur Zusammenfassung mehrerer Komponenten verschiedener Typen zu einer Einheit, die dann mit gemeinsamen Namen.
Suchen und Sortieren.
Programmieren in C Dynamische Listen / Bäume
Titellayout Untertitel.
Titellayout Untertitel.
Layout "Titel mit Bildern"
Titel mit Bildlayout Untertitel
Titellayout Untertitel.
Titellayout Untertitel.
Titel mit Bilderlayout
Titellayout Untertitel.
Titellayout Untertitel.
Titellayout Untertitel.
 Präsentation transkript:

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

Listenaufbau 1: ph = (struct SX *)malloc(sizeof(struct SX)); ph: Zeiger auf neu erstellte Speicherzelle für ein Listenelement pxph xp

Listenaufbau 1: ph = (struct SX *)malloc(sizeof(struct SX)); px ph 5. ph x = 5 ; ph p = NULL; Belege Datenteil mit 5 und Zeigerteil mit NULL

Listenaufbau 1: ph = (struct SX *)malloc(sizeof(struct SX)); px ph 5. ph x = 5 ; ph p = NULL; px = ph; px zeigt auf Liste mit genau einem Element 5. px Listenzeiger zeigt auf neues Element

Listenaufbau 2: ph = (struct SX *)malloc(sizeof(struct SX)); ph: Zeiger auf zweites neues Listenelement ph. px 5. ph x = 2 ; ph p = NULL; Belege neues Element mit Daten: 2 und NULL

Listenaufbau 2: ph = (struct SX *)malloc(sizeof(struct SX)); ph 2. ph x = 2 ; ph p = NULL; px 5.

Listenaufbau 2: ph = (struct SX *)malloc(sizeof(struct SX)); ph 2. px zeigt auf Liste mit zwei Elementen, 5 und 2. ph x = 2 ; ph p = NULL; px 5. px p = ph; Lege Zeiger von erstem Listenelement auf das neue Element.

Listenaufbau 3: ph = (struct SX *)malloc(sizeof(struct SX)); ph: Zeiger auf drittes neues Listenelement ph px px zeigt auf Liste mit drei Elementen, 5, 2 und 7. ph x = 7 ; ph p = NULL; Belege neues Element mit Daten: 7 und NULL px p p = ph; Lege Zeiger von zweitem Listenelement auf das neue Element. 7.

Sortieren: Starte Liste mit 2, dann 5, dann 7. Verändere entsprechend die Zeiger: px zeigt auf Liste mit drei Elementen in der sortierten Reihenfolge px p = px p p; Lege Zeiger von 5 auf 7 ph px Lege Hilfszeiger auf 2 ph = px p; ph p = px; Lege Zeiger von 2 auf 5 px = ph; px zeigt auf 2

Entfernen: px zeigt auf Liste mit zwei Elementen, 5 und 7. ph = px p; Lege Hilfszeiger auf 2 px p = ph p; Lege Zeiger von 5 auf 7 ph px Entferne 2 aus der Liste: free(ph); Lösche alte Zelle

Sortiert Einfügen von 6: ppx Prüfe, ob 6 > 5. if (*p) x < 6 Wenn ja, verschiebe Zeiger p zum Zeiger des nächsten Listenelements. Start am Listenanfang: Zeiger p auf px auf erstes Listenelement struct SX **p; p = &px; p = &((*p) p);

Sortiert Einfügen von 6: ppx Prüfe, ob 6 > 5. if (*p) x < 6 Wenn ja, verschiebe Zeiger p zum Zeiger des nächsten Listenelements. p = &((*p) p);

Sortiert Einfügen von 6: ppx Prüfe, ob 7 > 6. if (*p) x < 6 Da nein, muss das neue Listenelement für 6 dazwischen eingeschoben werden. ph = *p; *p = (struct SX *)malloc(sizeof(struct SX)); ph

Sortiert Einfügen von 6: ppx Prüfe, ob 7 > 6. if (*p) x < 6 Da nein, muss das neue Listenelement für 6 dazwischen eingeschoben werden. ph = *p; *p = (struct SX *)malloc(sizeof(struct SX)); ph.

Sortiert Einfügen von 6: ppx Lege Zeiger in neuem Element auf den richtigen Nachfolger 7: (*p) x = 6; (*p) p = ph ; ph 6.