doppelt verkettete Listen

Status
Nicht offen für weitere Antworten.

streamilein

Mitglied
Hallo,

ich hatte bis jetzt nur C++ gelernt und jetzt sind auf Java umgestiegen. Jetzt sollen wir etwas mit doppelt verketteten Listen programmieren. Nur habe ich keine Ahnung wie so etwas aussieht. Also in der Theorie schon nur nicht als Quellcode.

Hat mir jemand ein schönes Beispiel wo ich mir das mal anschauen kann wie so etwas gemacht wird? Kennt ihr vll auch gut Bücher zu Java?

In C++ hatte ich Bücher wie Nachschlagewerke, man hat nen Begriff im Inhaltsverzeichnis gesucht und dann fand man auch ne Seite wo es gut beschrieben wird. Gibt es so etwas auch in Java?

Ich habe bis jetzt keine guten Bücher gefunden.
 

mic_checker

Top Contributor
Du verstehst aber das Konzept hinter doppelt verketteten Listen?

Habt ihr vielleicht irgendeinen Grundcode gekriegt auf dem ihr aufbauend arbeiten könnt?
 

streamilein

Mitglied
also theoretisch versteh ich das schon. nur das umsetzen in quellcode versteh ich nicht.

Wir haben nen kleinen Grundcode bekommen. mit deQueue und enqeue methoden aber ohne inhalt. also so gut wie nichts.

wir müssen nen printjobmanager machen und das ist wohl die queue und zusätzlich müssen wir halt noch diese Listenelemente programmieren in die wir dann die Printjob´s einfügen und die Listenelemente werden ja dann in den printjobmanager eingefügt und gelöscht. und dass muss halt mit doppelt verketteten listen gemacht werden.
 

streamilein

Mitglied
ich weiß nicht benützt ihr das Handbuch zur Javaprogrammierung?

Dort habe ich unter diesem Link:
hjp4/html/k100100.html#ixa100955

was zu Listen gefunden. Ist das eine doppelt verkettete Liste?

Hier noch der Code für die wo das Buch nicht haben.

Code:
001 /* Queue.java */
002 
003 import java.util.*;
004 
005 /**
006  * Das Interface der Queue-Collection.
007  */
008 public interface Queue
009 {
010   /**
011    * Fügt das Element o am Ende der Queue an. Falls
012    * keine Ausnahme ausgelöst wurde, gibt die Methode
013    * true zurück.
014    */
015   public boolean add(Object o);
016 
017   /**
018    * Liefert das erste Element der Queue und entfernt es
019    * daraus. Falls die Queue leer ist, wird eine Ausnahme
020    * des Typs NoSuchElementException ausgelöst.
021    */
022   public Object retrieve()
023   throws NoSuchElementException;
024 
025   /**
026    * Liefert die Anzahl der Elemente der Queue.
027    */
028   public int size();
029 
030   /**
031    * Entfernt alle Elemente aus der Queue.
032    */
033   public void clear();
034 
035   /**
036    * Liefert einen Iterator über alle Elemente der Queue.
037    */
038   public Iterator iterator();
039 }

Code:
001 /* LinkedQueue.java */
002 
003 import java.util.*;
004 
005 /**
006  * Die folgende Klasse realisiert eine Queue-Collection
007  * auf der Basis einer einfach verketteten linearen Liste.
008  * Die LinkedQueue kann im Prinzip beliebig viele Elemente
009  * aufnehmen. Die Laufzeiten der Einfüge- und Löschmethoden
010  * sind O(1). Der von iterator() gelieferte Iterator
011  * besitzt KEINE Implementierung der Methode remove().
012  */
013 public class LinkedQueue
014 implements Queue
015 {
016   protected ElementWrapper first;
017   protected ElementWrapper last;
018   protected int count;
019 
020   public LinkedQueue()
021   {
022     first = last = null;
023     count = 0;
024   }
025 
026   public boolean add(Object o)
027   {
028     if (count == 0) {
029       //insert first element
030       first = new ElementWrapper();
031       last = first;
032       count = 1;
033     } else {
034       //insert element into non-empty queue
035       last.next = new ElementWrapper();
036       last = last.next;
037       ++count;
038     }
039     last.element = o;
040     last.next = null;
041     return true;
042   }
043 
044   public Object retrieve()
045   throws NoSuchElementException
046   {
047     if (count <= 0) {
048       throw new NoSuchElementException();
049     }
050     ElementWrapper ret = first;
051     --count;
052     first = first.next;
053     if (first == null) {
054       last = null;
055       count = 0;
056     }
057     return ret.element;
058   }
059 
060   public int size()
061   {
062     return count;
063   }
064 
065   public void clear()
066   {
067     while (first != null) {
068       ElementWrapper tmp = first;
069       first = first.next;
070       tmp.next = null;
071     }
072     first = last = null;
073     count = 0;
074   }
075 
076   public Iterator iterator()
077   {
078     return new Iterator()
079     {
080       ElementWrapper tmp = first;
081 
082       public boolean hasNext()
083       {
084         return tmp != null;
085       }
086 
087       public Object next()
088       {
089         if (tmp == null) {
090           throw new NoSuchElementException();
091         }
092         Object ret = tmp.element;
093         tmp = tmp.next;
094         return ret;
095       }
096 
097       public void remove()
098       {
099         throw new UnsupportedOperationException();
100       }
101     };
102   }
103 
104   /**
105    * Lokale Wrapperklasse für die Queue-Elemente.
106    */
107   class ElementWrapper
108   {
109     public Object element;
110     public ElementWrapper next;
111   }
112 }

Code:
001 /* Listing1505.java */
002 
003 import java.util.*;
004 
005 public class Listing1505
006 {
007   public static void main(String[] args)
008   {
009     //Erzeugen der Queue
010     LinkedQueue q = new LinkedQueue();
011     for (int i = 1; i <= 20; ++i) {
012       if (i % 4 == 0) {
013         System.out.println(
014         "Lösche: " + (String)q.retrieve()
015         );
016       } else {
017         q.add("" + i);
018       }
019     }
020     //Ausgeben aller Elemente
021     Iterator it = q.iterator();
022     while (it.hasNext()) {
023       System.out.println((String)it.next());
024     }
025   }
026 }

[/code]
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Klasse in Java für doppelt verkettete Listen Java Basics - Anfänger-Themen 4
H Doppelt verkettete Listen Java Basics - Anfänger-Themen 2
X Vererbung: Doppelt verkettete Listen Java Basics - Anfänger-Themen 16
Y Einfügen in eine doppelt verkettete Liste Java Basics - Anfänger-Themen 8
A Doppelt verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 17
D Doppelt Verkettete Zirkular-Liste Java Basics - Anfänger-Themen 1
B Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 8
scratchy1 doppelt verkettete Liste testen Java Basics - Anfänger-Themen 8
B Doppelt Verkettete Liste - Ist alles gut so? Java Basics - Anfänger-Themen 3
U Datentypen Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 13
J Methoden Doppelt verkettete Liste remove(Object) Java Basics - Anfänger-Themen 8
B OOP Über eine doppelt verkettete Liste iterieren Java Basics - Anfänger-Themen 4
L Doppelt verkettete Liste Java Basics - Anfänger-Themen 6
R doppelt verkettete Liste aus Arrays erstellen Java Basics - Anfänger-Themen 1
S Doppelt verkettete Liste Java Basics - Anfänger-Themen 3
G Doppelt Verkettete Liste Java Basics - Anfänger-Themen 2
A Doppelt Verkettete Liste Java Basics - Anfänger-Themen 16
E doppelt verkettete liste Java Basics - Anfänger-Themen 10
E Datentypen Doppelt verkettete Liste Java Basics - Anfänger-Themen 10
P Einfügen in doppelt verkettete Liste Java Basics - Anfänger-Themen 7
S Queue als doppelt verkettete Liste Java Basics - Anfänger-Themen 2
N doppelt verkettete liste einfügen Java Basics - Anfänger-Themen 7
K Datentypen Einfach/Doppelt verkettete Liste Java Basics - Anfänger-Themen 4
W Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 2
G Doppelt verkettete, generische Liste Java Basics - Anfänger-Themen 11
D doppelt verkettete Liste Java Basics - Anfänger-Themen 16
S Doppelt Verkettete Liste Java Basics - Anfänger-Themen 7
M Doppelt verkettete Liste Zeiger Vorgänger beim Einfügen Java Basics - Anfänger-Themen 2
J doppelt verkettete Liste Java Basics - Anfänger-Themen 5
L doppelt verkettete Liste Java Basics - Anfänger-Themen 6
B Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 12
B Doppelt verkettete Liste Java Basics - Anfänger-Themen 16
R Datentyp Ring - zyklisch doppelt verkettete Liste - HILFE! Java Basics - Anfänger-Themen 12
R doppelt verkettete Liste Java Basics - Anfänger-Themen 8
F doppelt verkettete liste! Java Basics - Anfänger-Themen 8
R doppelt verkettete azyklische Liste Java Basics - Anfänger-Themen 2
O Doppelt verkette Liste Element löschen Java Basics - Anfänger-Themen 15
J Doppelt verkette Liste ich bitte um Hilfe Java Basics - Anfänger-Themen 4
I Input/Output Code wird doppelt ausgeführt Java Basics - Anfänger-Themen 3
N package wird doppelt im exporer angezeigt Java Basics - Anfänger-Themen 2
L Wie frage ich ab, ob in einem Array, Werte doppelt vorkommen? Java Basics - Anfänger-Themen 4
J Fehler beim generieren von 4 Zufallszahlen Zahl doppelt ist eigentlich ausgeschlossen Java Basics - Anfänger-Themen 9
T Löschen in doppelt verketteter Liste Java Basics - Anfänger-Themen 1
L Input/Output Println wird doppelt ausgeführt Java Basics - Anfänger-Themen 11
D Interface Frame doppelt durch Aufruf der GUI Klasse Java Basics - Anfänger-Themen 1
B BufferedReader gibt Datei-Inhalt doppelt aus Java Basics - Anfänger-Themen 3
M Liste Implementation, doppelt next() Java Basics - Anfänger-Themen 13
D Klassen Doppelt so viele Elemente in Arraylist ? Java Basics - Anfänger-Themen 4
Salo Datentypen "Doppelt" List(e) ("gesucht") Java Basics - Anfänger-Themen 6
L do-while-Schleife läuft doppelt, try catch fehler Java Basics - Anfänger-Themen 12
T Java Methode wird unerwünscht doppelt aufgerufen?! Java Basics - Anfänger-Themen 4
OnDemand Doppelt Werte CSV Java Basics - Anfänger-Themen 2
llabusch Verkette Listen - Einfach und Doppelt Java Basics - Anfänger-Themen 3
N Erste Zeile bei BufferedReader doppelt lesen? Java Basics - Anfänger-Themen 2
E Erste Schritte Sortieren von Objekten in doppelt-verlinkter Liste Java Basics - Anfänger-Themen 9
S Methoden Methode wird doppelt aufgerufen ... Java Basics - Anfänger-Themen 5
J Mehrere Zufallszahlen erzeugen, aber keine darf doppelt erzeugt werden - Wie? Java Basics - Anfänger-Themen 5
B Doppelt gekettete Listen Java Basics - Anfänger-Themen 4
G PropertyChangeListener empfängt Events doppelt Java Basics - Anfänger-Themen 5
L doppelt verkette Liste Java Basics - Anfänger-Themen 5
H Fenster doppelt gezeichnet. Java Basics - Anfänger-Themen 2
G Einfügen aus Zwischenablage - alles doppelt? Java Basics - Anfänger-Themen 2
G JFileChooser kommt doppelt Java Basics - Anfänger-Themen 3
N Nullpointerexception bei Doppelt verketteter Liste Java Basics - Anfänger-Themen 7
M Listen richtig doppelt verkettet? Java Basics - Anfänger-Themen 13
D Exceptions in doppelt verketteter Liste Java Basics - Anfänger-Themen 5
C verify() wird doppelt aufgerufen (JTable + InputVerifier) Java Basics - Anfänger-Themen 8
H doppelt verkette liste Java Basics - Anfänger-Themen 2
L rückwärtsausgeben einer doppelt verketteten liste Java Basics - Anfänger-Themen 2
G JList und ListCellRenderer - Vector erscheint doppelt Java Basics - Anfänger-Themen 6
G JComboBox gibt SelectedItem immer doppelt aus Java Basics - Anfänger-Themen 4
B Array doppelt Felder löschen Java Basics - Anfänger-Themen 27
M Code wird doppelt ausgeführt Java Basics - Anfänger-Themen 2
R Zeilen aus datei lesen + doppelt gespeichert? Java Basics - Anfänger-Themen 3
G Trotz Abfrage immer noch Zahlen doppelt Java Basics - Anfänger-Themen 3
R Benutzerregistrierung: Doppelt registriert. Java Basics - Anfänger-Themen 8
M Verkettete Liste Java Basics - Anfänger-Themen 1
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
H Java verkettete Liste, Wert eines Index zurückgeben Java Basics - Anfänger-Themen 1
Igig1 Autoparkplatz verkettete Liste erstes und letztes Auto Java Basics - Anfänger-Themen 13
R Rückgabe: verkettete Liste Java Basics - Anfänger-Themen 2
R einfach verkettete Liste Java Basics - Anfänger-Themen 1
R einfach verkettete Liste Java Basics - Anfänger-Themen 12
B Verkettete Liste durchgehen und einzelne Elemente in neue Liste tun Java Basics - Anfänger-Themen 9
B Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen Java Basics - Anfänger-Themen 14
V einfach verkettete Listen Java Basics - Anfänger-Themen 10
A Verkettete Liste Java Basics - Anfänger-Themen 2
L verkettete Liste Java Basics - Anfänger-Themen 15
R Methoden Entferne alle identische Knoten (Typ String) aus verkettete Liste Java Basics - Anfänger-Themen 8
C Methoden Über eine einfach verkettete Liste Java Basics - Anfänger-Themen 8
H Verkettete Liste Java Basics - Anfänger-Themen 7
N Verkettete liste rückwärts ausgeben Java Basics - Anfänger-Themen 18
K Verkettete Liste und seine Methoden Java Basics - Anfänger-Themen 1
A Was könnten typische Prüfungsaufgaben zum Thema lineare, verkettete Listen sein? Java Basics - Anfänger-Themen 5
N Verkettete Liste implementieren Java Basics - Anfänger-Themen 5
O Einfach verkettete Liste - Revert Methode Java Basics - Anfänger-Themen 1
G Verkettete Liste - Neu erzeugte Elemente werden nicht ausgegeben Java Basics - Anfänger-Themen 5
S Einfach verkettete Liste Element an bestimmter Position einfügen Java Basics - Anfänger-Themen 24
C Verkettete Liste - sortiert einfügen Java Basics - Anfänger-Themen 7
R Erste Schritte Verkettete Liste will einfach nicht in meinen Schädel Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben