Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package chapter03;
- public class Kunde {
- int nr; // Schlüssel
- String name; // stellvertretend für die Daten
- public Kunde(int nr, String name) {
- this.nr = nr;
- this.name = name;
- }
- public String toString() {
- return nr + " " + name;
- }
- // class List
- // void insert(Kunde kunde) -- Hängt ein Kundenobjekt nach Kundennummer
- // sortiert in die Liste ein
- // void delete(int nr) -- Löscht das durch die Kundennummer
- // angegebene Kundenobjekt aus der Liste
- // Kunde member(int nr) -- Sucht das Kundenobjekt mit der
- // angegebenen Kundennummer
- // void print() -- gibt die komplette Kundenliste aus
- class List {
- private Node head = null;
- // Ein Knoten muss nur innerhalb einer Liste bekannt sein,
- // deshalb wird Node eine interne Klasse von Liste
- private class Node {
- private Kunde kunde;
- private Node next;
- public Node(Kunde kunde, Node node) {
- this.kunde = kunde;
- next = node;
- }
- }
- public void insert(Kunde kunde) {
- Node node = head;
- // Fallunterscheidung: Einhaengen am Kopf der Liste
- // muss extra betrachtet werden.
- if (node.next == null || node.kunde.nr > kunde.nr) {
- head = new Node(kunde, node);
- } else {
- while (node.next != null) {
- // Suchen der richtigen Position
- if (node.next.kunde.nr > kunde.nr) {
- break;
- }
- node = node.next;
- }
- node.next = new Node(kunde, node.next);
- }
- }
- public void delete(int nr) {
- Node node = head;
- // Nichts tun bei leerer Liste
- if (node != null) {
- // Fallunterscheidung: Loeschen am Kopf der Liste
- // muss extra betrachtet werden.
- if (node.kunde.nr == nr) {
- head = node.next;
- } else {
- while (node.next != null) {
- // Suchen des Elements
- if (node.next.kunde.nr == nr) {
- node.next = node.next.next;
- break;
- }
- node = node.next;
- }
- }
- }
- }
- public Kunde member(int nr) {
- Node node = head;
- while (node != null) {
- if (node.kunde.nr == nr) {
- return node.kunde;
- }
- node = node.next;
- }
- return null;
- }
- public void print() {
- Node node = head;
- while (node != null) {
- System.out.println(node.kunde);
- node = node.next;
- }
- System.out.println();
- }
- }
- public static void main(String[] args) {
- List myList = new List();
- myList.insert(new Kunde(3, "Caesar"));
- myList.insert(new Kunde(1, "Anton"));
- myList.insert(new Kunde(2, "Berta"));
- myList.insert(new Kunde(4, "Dora"));
- myList.print();
- System.out.println(myList.member(1));
- System.out.println(myList.member(2));
- System.out.println(myList.member(3));
- System.out.println(myList.member(4));
- myList.delete(4);
- myList.delete(2);
- myList.delete(1);
- myList.delete(3);
- myList.print();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement