Sortiertes Einfügen in doppelt verkettete Liste

Zel2491

Aktives Mitglied
Moin moin

Ich habe meine doppelt verkettete Liste und möchte dort über die Konsole Zahlen eingeben und diese DIREKT sortiert in die Liste einfügen.

Bisher sieht meine Methode so aus:


Java:
void insertSorted(DLink newDLink, int iNumber) {

    if(this.suc != null){ //1.
        this.suc.pre = newDLink;
    }

    newDLink.suc = this.suc;//2.
    newDLink.pre = this; //3.
    this.suc = newDLink; //4.
}


bisher werden die eingegebenen Zahlen einfach nur hinten angehängt^^

Jemand einen Vorschlag, wie ich das angehe?

Gruß Zel ;)
 

Fant

Bekanntes Mitglied
Da wirst du wohl solange deine Liste durchlaufen müssen, bis du an der passenden Stelle angekommen bist, und dann deinen neuen Knoten dort einhängen. Was ist unklar?
 

flopalko

Bekanntes Mitglied
Die Elemente sollten von Anfang an mit der insertSorted()-Methode eingefügt werden. Dadurch wird das Problem trivial.
Du musst einfach den Anfang deiner Liste nehmen, die Sortierbedingung prüfen, falls nötig zum nächsten Element gehen, allerdings vorher prüfen, ob vorhanden. Falls größer und Ende der Liste erreicht, fügst du es hinter dem letzten Element an, ansonsten fügst du es dann eben an der richtigen Position an.
Den Code dafür wird dir hier sicherlich niemand schreiben, wenn du aber einen Code hast, der dann nicht funktioniert kannst du den posten und dir wird sicher geholfen ;)
 

Zel2491

Aktives Mitglied
Ich tu mich ehrlich gesagt gerad ziemlich schwer mit dem Durchlaufen der Liste...

Ich hab derzeit nicht so richtig den Durchblick, wie ich diese Art von Liste durchlaufe und dabei jedes einzelne Element überprüfe... -.-''
 

flopalko

Bekanntes Mitglied
Ich denke schon, dass du das auch selbst hinbekommen hättest, aber hier mal ein Vorschlag (auf Grund mangelnder Information der Klasse DLink habe ich raten müssen, dass suc der nachfolgende Knoten ist (besserer Name wäre next), und welchen Namen dein Attribut, das verglichen werden soll hat, hast du auch verschwiegen, also hier allgemein):
Java:
void insertSorted(DLink newDLink) {
	DLink temp = this;
	while(temp.suc != null){
		if(temp.deinZuVergleichendesAttribut > newDLink.deinZuVergleichendesAttribut){
			//füge deinen newDLink hier ein!
			return;
		}
		if(temp.suc.deinZuVergleichendesAttribut > newDLink.deinZuVergleichendesAttribut){
			//füge deinen newDLink nach temp.suc ein!
			return;
		}
		temp = temp.suc;
	}
    //falls die while-Schleife durchläuft ist das Element am Schluss einzufügen, da sonst ein return ausgeführt werden würde --> füge deinen newDLink am Schluss ein!
	return;
}
[EDIT]Den Parameter int iNumber habe ich nun auch entfernt, da der absolut nutzlos ist. Vielleicht irre ich auch, aber dann hättest du zumindest darlegen müssen, wozu der gut sein soll![/EDIT]
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L sortiertes Array im main aufrufen klappt nicht. Allgemeine Java-Themen 3
C Dynamisches und sortiertes Auslesen von Properties Allgemeine Java-Themen 2
C In DefaultTableModel nachträglich Werte einfügen Allgemeine Java-Themen 2
A Java ListNode Element einfügen ohne Bibliothek Allgemeine Java-Themen 6
S Link element an vorletzte stelle einfügen Allgemeine Java-Themen 2
S Klassen Einfügen von unbekannter menge an Variablen in eine Klasse mithilfe von ASM Allgemeine Java-Themen 5
G JTextField Inhalt in einem Long einfügen Allgemeine Java-Themen 2
G Excel Tabelle lesen und in neue Excel Tabelle einfügen Allgemeine Java-Themen 11
S Wo .close() einfügen? Allgemeine Java-Themen 0
I Apache POI Word Text einfügen Allgemeine Java-Themen 26
K Swing OpenStreetMap in JFrame einfügen Allgemeine Java-Themen 1
B Eclipse Ekit-Editor einfügen Allgemeine Java-Themen 0
T Neuen Kanal in Bild (TIFF) einfügen à la Photoshop Allgemeine Java-Themen 2
D Symbol in Word-Dokument einfügen Allgemeine Java-Themen 1
N Automatisches einfügen einer selbst generierten ID in Klasse mit Annotation Allgemeine Java-Themen 8
F 2D Array in jList einfügen Allgemeine Java-Themen 8
J XML Dokument Zeilenumbruch in den Quellcode einfügen Allgemeine Java-Themen 5
H Semicolon Einfügen JSP Seite Allgemeine Java-Themen 9
K Neue Elemente in JList einfügen Allgemeine Java-Themen 2
Todesbote Excel Blattschutz aufheben und Daten einfügen Allgemeine Java-Themen 3
T Mit Apache Poi Daten aus einer Excel Tabelle kopieren und in Word einfügen Allgemeine Java-Themen 1
S Text in for Schleife in Label einfügen Allgemeine Java-Themen 4
S JPanel einfügen in MainClass Allgemeine Java-Themen 4
R Schnelles Einfügen in SortedSet Allgemeine Java-Themen 11
Z Ausschneiden, Kopieren, Einfügen, Löschen in JTextArea Allgemeine Java-Themen 5
JAVAnnik Bilder in JLabel Array einfügen Allgemeine Java-Themen 2
E Bild mit Listener einfügen Allgemeine Java-Themen 3
reibi Leeres Verzeichnis in ein Zipfile einfügen Allgemeine Java-Themen 12
N Tupel in eine SET einfügen Allgemeine Java-Themen 3
S Progressbar einfügen Allgemeine Java-Themen 4
W xml File einlesen und in eine andere xml File einfügen.. Allgemeine Java-Themen 2
L List <Hauser> in Combobox einfügen Allgemeine Java-Themen 5
D Kopieren und Einfügen Allgemeine Java-Themen 8
D Einfügen über JMenuBar Allgemeine Java-Themen 4
N einfügen string in methode Allgemeine Java-Themen 10
R doppelt verkettete Liste: Fehler beim Einfügen Allgemeine Java-Themen 3
G Zeile einfügen in TreeTable Allgemeine Java-Themen 2
G Teilstring in einen String einfügen Allgemeine Java-Themen 5
G Tabelleneintrag einfügen Allgemeine Java-Themen 10
P JTree/ Nodes einfügen Allgemeine Java-Themen 2
G Plug-in: Wie JButton einfügen? Allgemeine Java-Themen 12
A FileChannel: Mitten in eine Datei was einfügen Allgemeine Java-Themen 2
W Daten in Access einfügen über Java Allgemeine Java-Themen 21
G Plugin (Visual Editor) in Eclipse einfügen Allgemeine Java-Themen 2
Zed JList Object einfügen und Text anzeigen Allgemeine Java-Themen 3
P Timestamp in eine Firebird-Datenbank einfügen Allgemeine Java-Themen 6
K Bilder mit Java in MS Word einfügen Allgemeine Java-Themen 2
M Text in JTextfield einfügen sofort dann wird Text gekürzt Allgemeine Java-Themen 2
H html datein einfügen Allgemeine Java-Themen 7
M Pfeilzeichen (z.B. ALT + 26) einfügen Allgemeine Java-Themen 2
S Bild aus Zwischenablage in Applet einfügen Allgemeine Java-Themen 2
R Frage zu einfügen in generische lineare Liste Allgemeine Java-Themen 7
S Werte in Tabelle einfügen! Allgemeine Java-Themen 9
N Zeilenumbruch in String nach jeweils x Zeichen einfügen? Allgemeine Java-Themen 6
G Text cursorgenau einfügen [ehemals hilfe ... dringend] Allgemeine Java-Themen 7
G Hilfe - JButton in JTable (Spalte) einfügen! Allgemeine Java-Themen 6
S addAtPosition - Zahl an einer bestimmten Position einfügen Allgemeine Java-Themen 8
G wie Klasse in JFrame "einfügen" Allgemeine Java-Themen 12
D iText: Tabelle in Footer einfügen Allgemeine Java-Themen 6
G Einfügen von Werten aus TXT-Datei in ein Array !?! Allgemeine Java-Themen 9
M doppelt verkettete Listen Allgemeine Java-Themen 2
N warum wird es doppelt ausgegeben Allgemeine Java-Themen 6
P Erstelltes Programm ist doppelt so groß Allgemeine Java-Themen 11
S If-Menü wird doppelt ausgegben Allgemeine Java-Themen 4
D "Paste" String doppelt Allgemeine Java-Themen 14
D Methoden Buttons erscheinen doppelt nach Wiederholung in Schleife Allgemeine Java-Themen 1
Sin137 Interface Eingabe wird doppelt angezeigt Allgemeine Java-Themen 2
O Sax-Parser ließt XML-File doppelt Allgemeine Java-Themen 1
J Fragen zu generischer doppelt verketteter Liste (bei fehlendem Grundverständnis) Allgemeine Java-Themen 1
chik Doppelt verkettete Liste bzw. Zirkulärliste (kleiner Fehler, den ich nicht finde) Allgemeine Java-Themen 4
N Fehler abfang läuft doppelt durch Allgemeine Java-Themen 2
ARadauer Random keine Zahlen doppelt Allgemeine Java-Themen 4
L Doppelt Verkettete Listen Allgemeine Java-Themen 6
M Alles doppelt in Eclipse syntaxhilfe Allgemeine Java-Themen 6
F Doppelt verkettete Liste sortieren? Allgemeine Java-Themen 8
M doppelt verkettete Listen? Allgemeine Java-Themen 5
C Vier Stellen Keine Doppelt (Zufall) Allgemeine Java-Themen 20
G Array doppelt verkettet? Allgemeine Java-Themen 6
L doppelt gelinkte liste /getFirst/removeFirst/clear/Remove Allgemeine Java-Themen 2
S Thread wird nach erneutem Instanzieren doppelt gestartet!? Allgemeine Java-Themen 4
I Doppelt verkette Listen Allgemeine Java-Themen 2
J Doppelt verkettete Liste Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben