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
User oder E-Mail
Passwort
·
Passwort vergessen
·
Kostenlos anmelden
Information
Demo
Features
Im Vergleich
Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
Kundenservice
Impressum
Datenschutz
AGB
Status
5.409 User online
1 User eingeloggt
Beiträge
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
Antworten
Neuer Beitrag
Gesamtdarstellung
Detaildarstellung
Einzeldarstellung
Threaddarstellung
Beitrag 1624 von 2963 (55%)
Autor
lesezeichen
Datum
10.04.05, 23:23
Betreff
Doppeltverlinkte zirkuläre Liste - Code komment./Verständnis
Hallo Mitglieder des java-forums,
ich habe hier ein Verständnis-Problem und möchte einen etwas Erfahrerenen bitten den nachfolgenden Code zu kommentieren, damit ich im Gesamtzusammenhang begreifen kann, wie diese doppelt verlinkte zirkuläre Liste implementiert ist.
Ich wäre sehr verbunden, wenn sich jemand dieses Problem annehmen würde.
Gruss,
lesezeichen
----
Code:
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:
Re: Doppeltverlinkte zirkuläre Liste - Code komment./Verständnis
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