tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
8296
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Taschkin Taschkin ist offline Mitglied Silber
    Registriert seit
    Feb 2002
    Ort
    Ludwigshafen
    Beiträge
    54
    Ich habe vollgendes Problem.
    Im Studiumj (1.Semester) nehmen wir grad einfach verkettete Listen durch.
    Leider verstehe ich das nicht ganz, oder wie man sich das vorstellen kann.

    Hier ein Beispiel:

    public class CharListElement
    {
    char content;
    CharListElement next;
    }

    public class LinearCharList
    {
    //Referenz auf erstes Element
    public CharListElement first;
    //Fügt am Anfang der Liste neues Element hinzu
    public void addFirst(char content)
    {
    CharListElement n = new CharListElement();
    n.content = content;
    n.next = first;
    first = n;
    }

    Also ich verstehe die vorgehensweise so:

    1. public CharListElement first;
    2. CharListElement n = new CharListElement();
    3. n.content = content;
    4. n.next = first;
    5. first = n;

    die Rihenfolge gleich der Reihenfolge der Bilder.
    Ich hoffe ich habe die Bilder richtig gezeichnet, oder habe ich da irgend einen fehler gemacht. Wenn ja sagt mir was für einen. Ansonsten, wenn alles richtig ist, verstehe ich den 4. und 5. Schritt nicht. Wie kann man sich das Bildlich am besten vorstellen.

    Ich hoffe es kann mir jemand bei meinen Problem helfen, ich bedanke mich im vorraus. (danke)
    Angehängte Grafiken Angehängte Grafiken      
     

  2. #2
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Schau mal hier:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    
    /*
     * Created on 17.01.2005@00:32:21
     *
     * TODO Licence info
     */
    package de.tutorials;
     
    /**
     * @author Administrator
     *
     * TODO Explain me
     */
    public class LinkedListExample {
     
        public static void main(String[] args) {
            new LinkedListExample().showIt();
        }
     
        /**
         * 
         */
        private void showIt() {
            LinkedList list = new LinkedList();
            ListItem li = new ListItem("A");
            list.addItem(li);
            list.addItem(new ListItem("B"));
            list.addFirst(new ListItem("C"));
     
            ListItem item = list.first;
            while (item != null) {
                System.out.println(item.data);
                item = item.next;
            }
        }
     
        class LinkedList {
            ListItem first;
     
            void addItem(ListItem item) {
                if (first == null) {//Wenns noch kein Element in der Liste gibt setzte item an Anfang. 
                    first = item;
                } else if (first != null) { //Gibt es schon ein erstes Element gehe alle Elemente durch 
                    //und finde das letzte -> (das Element bei welchem die Bedingung current.next ==null 
                    //erfüllt ist.
                    ListItem current = first;
                    while (current.next != null) {
                        current = current.next;
                    }
                    current.next = item;
                }
            }
     
            void addFirst(ListItem item) {
                ListItem oldFirst = first; //Alten Anfang Zwischenspeichern
                item.next = oldFirst; // Zwischengespeicherter "alter" anfang ist nun nachfolger von item 
                first = item; //item ist nun "neuer" Anfang. 
            }
        }
     
        class ListItem {
            String data;
     
            ListItem next;
     
            public ListItem(String data) {
                this.data = data;
            }
     
        }
    }

    Ps.: Bilder dazu gibt's in der google Bildersuche.

    gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

Ähnliche Themen

  1. Einfach verkettete Listen
    Von ul7ima im Forum C/C++
    Antworten: 6
    Letzter Beitrag: 08.01.10, 23:42
  2. c# und verkettete listen?
    Von ftt im Forum .NET Datenverwaltung
    Antworten: 2
    Letzter Beitrag: 20.12.07, 09:51
  3. verkettete Listen
    Von Piesbruhder im Forum C/C++
    Antworten: 14
    Letzter Beitrag: 21.04.05, 21:34
  4. [C++] verkettete Listen
    Von killermaus1984 im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 27.10.04, 01:15
  5. verkettete Listen
    Von Radhad im Forum C/C++
    Antworten: 6
    Letzter Beitrag: 19.11.03, 11:11