carookee - group communication for you
Home / JavaForum / Beginner
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
5.037 User online
1 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 1719 von 2963 (58%) |<   <   >   >|

Autor Gast
Datum 10.04.05, 23:25
Betreff Re: Doppeltverlinkte zirkuläre Liste - Code komment./Verständnis


sorry, der nachfolgende code dürfte besser lesbar sein.


public class List {
    private Entry header;
    private int size;
    
    // Constructor for an empty list that only contains a dummy header element
    public List() {
        header = new Entry(null,null,null);
        
    }
    
    public void addFirst( Object o ) {
        //to do:call the private method addBefore
        if (size==0){
            Entry newEntry = new Entry(o,null,null);
            header.next = newEntry;
            header.previous = newEntry;
            newEntry.previous = newEntry;
            newEntry.next = newEntry;
            size++;
        }
        else{addBefore(o,header.next);}
    }
    
    public Object getFirst() {
        //to do
        return null;
    }
    
    public Object removeFirst() {
        //to do
        return null;
    }
    
    public int size() {
        return size;
    }
    
    public boolean isEmpty(){
        /*boolean empty;
        if(size>=1)
        empty=true;
        else
        empty=false;
        return empty;*/

        return size==0;
    }
    
    
    public void clear() {
        //to do
    }
    
    // Return an iterator for the list
    public MyListIterator iterator() {
        return new MyListIterator();
    }
    
    // private methods
    private Entry addBefore( Object o, Entry e ) {
        //to do
        Entry newEntry = new Entry(o,e,e.previous);
        e.previous = newEntry;
        header.next=newEntry;
        size++;
        return null;
    }
    
    private void remove( Entry e ) {
        
    }
    
    // Inner class MyListIterator
    private class MyListIterator implements MyIterator {
        private Entry tempHeader = header;
        
        public boolean hasNext() {
            if((header.next != null) && (tempHeader != header.previous)){
                return true;
            }
            else
            return false;
        }
        
        public Object next() {
            tempHeader = tempHeader.next;//flaw
            //tempHeader=header.next;
            return tempHeader.element;
        }
        
        public boolean hasPrevious() {
            if((header.previous != null) && (tempHeader != header.next)){
                return true;
            }
            else
            return false;
        }
        
        public Object previous() {
            tempHeader = tempHeader.previous;
            return tempHeader.element;
        }
    } // End of inner class MyListIterator
    
    
    // Inner class Entry
    private class Entry {
        Object element;//actual data
        Entry next;
        Entry previous;
        
        Entry( Object element, Entry next, Entry previous ) {
            this.element = element;
            this.next = next;
            this.previous = previous;
        }
    } // End of inner class Entry
    
} // End of class List



Diskussionsverlauf:
Doppeltverlinkte zirkuläre Liste - Code komment./Verständnis
    Re: Doppeltverlinkte zirkuläre Liste - Code komment./Verständnis

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com