• Keine Ergebnisse gefunden

Praktische Informatik 2 Dr. Reinhard Wolfinger

N/A
N/A
Protected

Academic year: 2022

Aktie "Praktische Informatik 2 Dr. Reinhard Wolfinger"

Copied!
8
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Praktische Informatik 2

Dr. Reinhard Wolfinger

Email: reinhard.wolfinger@jku.at Telefon: 0732/2468-7134

Sprechstunde: Dienstag, 14:00-15:00

Institut für Systemsoftware

Hochschulfondgebäude

3. Stock, Raum HF301

(2)

Organisatorisches

www.ssw.uni-linz.ac.at/Teaching/Lectures/PI2/2010/

- Übungshinweise im Web beachten - 8 Übungen, von Tutoren korrigiert

- Abgabe elektronisch (Upload ZIP/RAR) und in Papierform

Postkästen in Hochschulfondgebäude 3. Stock, hinter Aufzug

- Keine Toleranz für Abschreiben.

Wer 1x abschreibt wird nicht beurteilt.

• Übungen

- Bewertung: (Übungspunkte / Übungsanzahl + Testpunkte) / 2

• Test

Fragen? 2

- Abgabe Dienstag 10:15 - Passwort per Email

- Korrigierte Übungen eine Woche später Dienstag 12:00 zurück

- Test muss positiv sein

(3)

Lineare Liste

class Node { int val;

Node next = null;

Node(int val) { this.val = val;

} }

3

public class List {

private Node head = null;

public void prepend(int val) { ... } // vorne anfügen public void append(int val) { ... } // hinten anfügen public Node find(int val) { ... } // suchen

public void insert(int val) { ... } // (aufsteigend) sortiert einfügen public void remove(int val) { ... } // entfernen

}

(4)

prepend

4

public void prepend(int val) { Node q = new Node(val);

q.next = head;

head = q;

}

3

Fall 1: leere Liste Fall 2: Liste mit Knoten

5 9

head head

2 2

q.next = head;

head = q;

q q

head = q; q.next = head;

(5)

append

5

public void append(int val) { Node q = new Node(val);

if(head == null) { // prepend

head = q;

} else {

Node prev = head;

while(prev.next != null) prev = prev.next;

prev.next = q;

} }

3

Fall 1: leere Liste Fall 2: Liste mit Knoten

5 9

head head

10 10

head = q;

q q

prev

prev.next = q;

(6)

find

6

public Node find(int val) { Node p=head;

while(p != null && p.val != val) p = p.next;

return p;

}

3

Fall 1: nicht gefunden Fall 2: gefunden

5 9

head

p

3 5

head

p

(7)

insert

7

public void insert(int val) { // sorted Node q = new Node(val);

Node p = head, prev = null;

while(p != null && p.val < val) { prev = p;

p = p.next;

}

if(prev == null) head = q;

else

prev.next = q;

q.next = p;

}

3

Fall 1: am Anfang Fall 2: in der Mitte

5

head

2

q

head = q; q.next = p;

head 3 5 9

4

q

prev.next = q; q.next = p;

prev p

p

prev

(8)

remove

8

Node remove(int val) {

Node p=head, prev = null;

while(p != null && p.val != val) { prev = p;

p = p.next;

}

if(p != null) { if(p == head)

head = head.next;

else

prev.next = p.next;

}

return p;

}

3

Fall 1: am Anfang Fall 2: in der Mitte

5 9

head

p head 3 5 9

prev.next = p.next;

prev p

head = head.next;

prev

Referenzen

ÄHNLICHE DOKUMENTE

Ein Implikant M einer Boole'schen Funktion f heißt Primimplikant von f, wenn er durch Resolution mit anderen Implikanten von f nicht weiter vereinfacht werden kann.. Wenn

Ein Implikant M einer Boole'schen Funktion f heißt Primimplikant von f, wenn er durch Resolution mit anderen Implikanten von f nicht weiter vereinfacht werden kann... Damit gibt es

• Abgabe elektronisch (Upload ZIP/RAR) und in Papierform (Postkästen

[r]

• Abgabe elektronisch (Upload ZIP/RAR) und in Papierform (Postkästen

und auf Papier im Postkasten (HF-Gebäude, 3.Stock, hinter Aufzug) - Abgabepasswort kommt per E-Mail. - korrigierte Übungen eine Woche

Institut für System Software (SSW) DI Eisl &amp; DI Leopoldseder.. abgegebenen Übung wird eine Note ausgestellt2. ■ LVA Evaluierung im

abgegebenen Übung wird eine Note