Zeiger auf das letzte Element in einer linearen Liste

hawkeye78

Bekanntes Mitglied
Hallo,

ich versuche im Moment eine Liste zu implementieren die die Objekte a_1, ..., a_n entgegen nimmt und diese auch in dieser Reihenfolge in einer linearen Liste einfügt. Ich habe dazu bis jetzt folgende Methode geschrieben:
Java:
public Node insert(Node a[])
{
	Node list=null;
	Node preNode=null;

	for(int i=0; i<a.length; i++)
	{
		if(list==null)
		{
			list=a[i]
			preNode=list;		
		}
		else
		{
			tree.setNext(a[i]);
			preNode=a[i];
		}
	}

	return list;
}
Dabei war die Idee das ich in der Variable preNode jeweils das letzte Element verwalte so das ich nicht bei jedem einfügen die Liste neu durch laufen muss. Aber dummerweise funktioniert es nicht und irgendwie bin ich mit Blindheit geschlagen, warum nicht? Ich habe darum die Hoffnung das hier evtl. jemand mal darüber schauen kann, um mir zu sagen warum es nicht funktioniert. Ich wäre für den einen oder anderen Tipp auf jeden Fall sehr dankbar
viele Grüsse
Dan
 
S

SlaterB

Gast
was die Methode machen soll musst du nochmal neu genau beschreiben,
die Variable preNode ist äußerst verdächtig, die wird doch nirgendwo verwendet (eine IDE wie Eclipse würde das unter guter Konfiguration auch als Warnung anstreichen)

wenn du preNode ganz rausnimmst hat das keine Änderung,

auch list selber hat praktisch nur die Funktion a[0] anzunehmen und am Ende der Rückgabewert zu sein,
davon abgesehen wird es nicht mehr verwendet, nie mehr geändert, a[0] auch sonst ignoriert,

nur alle anderen a werden dann, weil list ja nicht mehr null ist, in tree eingefügt, was das auch immer ist,
alle a kommen in den tree rein, aber list + preNode interessiert das nicht die Bohne

ist das der Plan?
 

hawkeye78

Bekanntes Mitglied
Hallo SlaterB,

eigentlich bin ich drauf und dran den Huffman-Code zu implementieren. Dazu habe ich zu erst die Buchstaben die in der Eingabe vorkommen gezählt und aufsteigend nach ihrer Anzahl sortiert. Dann habe ich aus jedem Buchstaben der in der Eingabe auftritt ein Objekt mittels der Klasse
Java:
public class Node
{
	Node leftChild;
	Node rightChild;
	Node next;
	int counter=0;
	String character="";

	public Node(String c)
	{
		character=c;
	}

	// ...und hier folgen die Getter- und Setter Methoden zum Setzen bzw auslesen der Variabeln
}
und hänge diese in einer linearen Liste zusammen. Das Funktioniert auch soweit...Nun nehme ich immer 2 Objekte aus dieser Liste heraus und erzeuge daraus einen "Baum" mit einer Wurzel und 2 Kindern und diese kleinen Teilbäume möchte ich nun in eine neue Liste einfügen um dann diese wieder paarweise zu neuen Bäumen zusammenzufassen usw. bis am ende nur noch ein Baum übrig bleibt.
Um noch mal alles zusammen zu fassen, das erzeugen der ersten Liste für den ersten Durchlauf funktioniert, das zusammenfassen der einzelnen Knoten zu bäumen funktioniert auch. Aber leider scheitere ich jetzt daran diese in eine zweite Liste einzufügen, ich könnte natürlich jedes mal die Liste bis zum ende durchlaufen um den Knoten dann einzuhängen. Aber das halte ich für eine verschwendung von Performance. Aus diesem Grund würde ich einfach nach dem einfügen eines Knotens einen Zeiger auf diesen Knoten speichern um dann beim nächsten Einfügen direkt zum letzten Element zu kommen.
Ich hoffe ich konnte einigermaßen klar beschreiben, was ich vorhabe und wo mein Problem liegt. Auf jeden Fall möchte ich mich schon einmal für deine hilfe bedanken.
Viele Grüsse
Dan
 
S

SlaterB

Gast
die Erklärungen sind eine Sache, aber dein Code scheint nichts damit zu tun zu haben,
ich möchte nicht alles nochmal wiederholen, kann dies aber an einem Code-Beispiel für irgendwas SINNVOLLES verdeutlichen

Java:
public void addElementeGanzHinten(Elemente) {
 Node letzter = findLetzen();
 for (jedes neue Element) {
    letzter = letzter.addNext(element);
 }
}
das wäre in etwa ein Code, der eine Variable, die immer auf des letzte Element zeigt, ständig aktuell hält, vor allem aber auch ständig benutzt, zum Einfügen des neuen Elements,
in deinem ersten Code ist preNode dagegen wie gesagt ohne Funktion

was auch immer du aktuell möchtest oder wie dein Programm aussehen soll, kann ich nicht erahnen,
anderweitig vorerst nicht weiterhelfen
 

hawkeye78

Bekanntes Mitglied
ja genau und genau um die Funktion "findLetzter()" geht es mir. Meine idee war halt sobald ich ein neues Element einfüge setze ich einfach die Referenz auf das letzte eingefügte Objekte in der Liste, aber das scheint irgendwie nicht zu funktionieren. Ich denke im moment werde ich wohl um eine Schleife die bei jedem neuen Einfügen das letzte Element sucht nicht herum kommen...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Zählen der Zeiger auf Objekte Java Basics - Anfänger-Themen 35
A GUI-Bedienelemente mit Zeiger/Referenzen-Array veralten Java Basics - Anfänger-Themen 4
8 Referenz (Pointer, Zeiger) in Java Java Basics - Anfänger-Themen 9
G Array-Zeiger auf null und if() Java Basics - Anfänger-Themen 4
P Zeiger und Listen Java Basics - Anfänger-Themen 2
D Null-Zeiger Java Basics - Anfänger-Themen 9
Screen Mouserobot clonen? Zeiger nur innerhalb eins Fensters? Java Basics - Anfänger-Themen 3
G Keine feste Länge bei Objekten, warum nur Zeiger? Java Basics - Anfänger-Themen 8
M Doppelt verkettete Liste Zeiger Vorgänger beim Einfügen Java Basics - Anfänger-Themen 2
G Zeiger/Referenz auf int- Variable Java Basics - Anfänger-Themen 5
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
S Variablen Letzte Zeile eines Strings entfernen Java Basics - Anfänger-Themen 1
crrnogorka Letzte Zeile einer Tabelle "überschreibt" alle anderen Zeilen Java Basics - Anfänger-Themen 1
S Letzte Zahl eines Integer auslesen? Java Basics - Anfänger-Themen 3
K Apache POI Excel Letzte Reihe einer bestimmten Spalte Java Basics - Anfänger-Themen 1
V Klassen Bestimmen Sie die erste und letzte Position an der ein 'c' steht? Java Basics - Anfänger-Themen 3
thobren arraylist es wird nur der letzte Eintrag angezeigt Java Basics - Anfänger-Themen 2
L Schleifen und Array, nur letzte Eingabe wird ausgegeben Java Basics - Anfänger-Themen 3
I String abschneiden erste und letzte Zeichen Java Basics - Anfänger-Themen 3
P letzte Datei finden Java Basics - Anfänger-Themen 18
S Textdatei lesen, Methode gibt nur die letzte Zeile aus. Warum? Java Basics - Anfänger-Themen 5
J ArrayList nimmt ständig nur das letzte Objekt auf Java Basics - Anfänger-Themen 2
W letzte Zeile aus wachsender Textdatei auslesen Java Basics - Anfänger-Themen 5
J Variablen Letzte berechnete variable am anfang Ausgeben ? Java Basics - Anfänger-Themen 4
T ArrayList immer die letzte Zeile Java Basics - Anfänger-Themen 2
J Erste und letzte Zeile in txt Java Basics - Anfänger-Themen 3
N Die letzte Zeile generiert einen Fehler! Könnt ihr mir helfe Java Basics - Anfänger-Themen 2
M Letzte Zeille einer Datei verarbeiten Java Basics - Anfänger-Themen 3
G wie erfragt man die letzte ID in einer MySQL Datenbank ab? Java Basics - Anfänger-Themen 3
G TreeMap vom 1. bis letzte eintrag durchgehen Java Basics - Anfänger-Themen 17
D Random Access File: Letzte Zeile löschen Java Basics - Anfänger-Themen 2
S Java zeigt immer nur das letzte Objekt der Liste Java Basics - Anfänger-Themen 4
D Erste und letzte 3 Buchst. eines Str. in jeweils ein Array Java Basics - Anfänger-Themen 13
C letzte Zeilen eines Files auslesen Java Basics - Anfänger-Themen 3
A 6. Element aus einem Array zurückgeben Java Basics - Anfänger-Themen 1
K Wie kann ich ein Element an den Anfang setzten ? Java Basics - Anfänger-Themen 1
pc pc pc pc pc letztes Element eines Arrays n Java Basics - Anfänger-Themen 3
heinrich172 Methoden Trotz gleichem Element stimmt Vergleich nicht? Java Basics - Anfänger-Themen 7
I Element n aus Datenbank Query (JPA / Hibernate) Java Basics - Anfänger-Themen 3
A Jedes zweite Element eines Arrays entfernen Java Basics - Anfänger-Themen 30
O Doppelt verkette Liste Element löschen Java Basics - Anfänger-Themen 15
L Längstes Element einer ArrayList ausgeben Java Basics - Anfänger-Themen 9
I Letztes, erstes Element vom Array Java Basics - Anfänger-Themen 9
districon Element in Liste einfügen Java Basics - Anfänger-Themen 1
Y Wie kann ich ein Element in einer toString finden. Java Basics - Anfänger-Themen 2
J Element aus Liste nehmen Java Basics - Anfänger-Themen 3
S Gibt es ein simples JWebbrowser Element? Java Basics - Anfänger-Themen 6
M Letztes Element einer ArrayList Java Basics - Anfänger-Themen 12
S Streams - kleinstes Element finden Java Basics - Anfänger-Themen 4
V_Fynn03 Beliebiges Element in einer Liste löschen (Java)(Lineare Datenstrukturen) Java Basics - Anfänger-Themen 9
V_Fynn03 Lineare Datenstrukturen Element löschen? Java Basics - Anfänger-Themen 2
J Selektiertes Element von jComboBox zwischenspeichern und wieder einsetzen Java Basics - Anfänger-Themen 0
Curtis_MC Collections Zufälliges Element aus Stack Java Basics - Anfänger-Themen 2
M Ist es möglich, das größte und zweitgrößte element in einem Array mit nur einer Schleife ausfindig zu machen ? Java Basics - Anfänger-Themen 19
X Array erstes und letztes Element tauschen Java Basics - Anfänger-Themen 2
A Konsolenausgabe: Hinter letztes Element ein "}" Java Basics - Anfänger-Themen 2
F nur das erste Element mit iterator ausgeben Java Basics - Anfänger-Themen 5
O Element aus Array löschen Java Basics - Anfänger-Themen 5
I Methoden List.contains() beim 2. Element = true Java Basics - Anfänger-Themen 1
M Array immer wieder um ein Element erweitern Java Basics - Anfänger-Themen 6
AnnaBauer21 org.w3c.dom.Element - Neues Element hinzufügen Java Basics - Anfänger-Themen 4
D doc.seect jsouo bestimmtes class element finden Java Basics - Anfänger-Themen 1
D Selenium Webdrive get x Element Java Basics - Anfänger-Themen 14
W Element aus HashSet in String umformen Java Basics - Anfänger-Themen 7
S Einfach verkettete Liste Element an bestimmter Position einfügen Java Basics - Anfänger-Themen 24
B Element in Array nach unten verschieben Java Basics - Anfänger-Themen 11
TechGirl JAVA GUI Oberfläche Umkreisung - wie heißt dieses Element? Java Basics - Anfänger-Themen 2
B Methoden Element aus einem Array löschen, Rest nach vorne verschieben? Java Basics - Anfänger-Themen 4
Z Html Element aus der Webseite auslesen Java Basics - Anfänger-Themen 1
A Hash Tabelle Element suchen Java Basics - Anfänger-Themen 1
K Collections Zugriff auf ein bestimmtes Element in der Collection Java Basics - Anfänger-Themen 1
K Element in ArrayList löschen ohne Index zu verschieben Java Basics - Anfänger-Themen 2
J Variablen Strings mit Zeilenumbrüchen in neues Array Element Java Basics - Anfänger-Themen 1
W Größtes Element im unsortierten Binärbaum Java Basics - Anfänger-Themen 7
S Günstigstes Element aus einer ArrayList ausgeben Java Basics - Anfänger-Themen 10
N ArrayList: Das zweite Element wird zur Liste nicht eingefügt nach dem zweiten request. Java Basics - Anfänger-Themen 3
Ruvok Prüfen ob bestimmtest Element existiert im Array Java Basics - Anfänger-Themen 11
A ResultSet: vorheriges Element auslesen Java Basics - Anfänger-Themen 10
F Element aus LinkedList löschen Java Basics - Anfänger-Themen 3
J Element zu jList hinzufügen NullPointerExcepetion Java Basics - Anfänger-Themen 2
H Kein Zugriff auf das Element einer JList möglich: Fehlermeldung Java Basics - Anfänger-Themen 2
V wie kann man am einfachsten für ein Element der JavaFX die Umrandung aktiwieren ? auch ohne css ? Java Basics - Anfänger-Themen 4
D Fehlermeldung "com.element.JavaUpload.Manager" Java Basics - Anfänger-Themen 1
S Element von List<E> in String umwandeln Java Basics - Anfänger-Themen 3
I Element löschen aus der Liste Java Basics - Anfänger-Themen 2
G element in ArrayList Hinzufügen Java Basics - Anfänger-Themen 16
M ArrayList-Element hinzufügen u. löschen Java Basics - Anfänger-Themen 2
H Möglichkeit, mehrere Element zu speichern Java Basics - Anfänger-Themen 8
P Element aus einer einelementigen Menge bekommen. Java Basics - Anfänger-Themen 8
M Letztes Element im Array finden Java Basics - Anfänger-Themen 3
R Mit iterator auf Element zugreifen Java Basics - Anfänger-Themen 2
G Element einem Array hinzufügen Java Basics - Anfänger-Themen 7
Madlip Erste Schritte Das 4. Element?!? Java Basics - Anfänger-Themen 2
B Erstes Element eines Vectors erhalten Java Basics - Anfänger-Themen 5
Q queue.remove Element trotzdem noch vorhanden. Java Basics - Anfänger-Themen 10
H Zugriff auf Vector Element Java Basics - Anfänger-Themen 2
N Array, Element in Array? Java Basics - Anfänger-Themen 8
I Liste Remove erstes Element Java Basics - Anfänger-Themen 5
M Map mit Vektor: Element hinzufügen Java Basics - Anfänger-Themen 21
M element aus DB lesen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben