Verkettete Liste

Status
Nicht offen für weitere Antworten.

Herr Fischer

Mitglied
Hallo ich habe ein kleines Verständnisproblem. Wie Titel schon sagt geht es um eine verkettete Liste. Ich habe die Suchfunktion benutzt, aber nichts gefunden was mir hilft zu verstehen. Ich soll eine Funktion schreiben, die einen Wert übergeben kommt und wenn dieser Wert bereits in der Liste ist diesen löscht, ist er nicht in der Liste soll er vorne angefügt werden. Letztereshabe ich bereit hinbekommen, nur mit dem löschen komme ich nicht klar, da ich nicht verstehe wie ich zu einer bestimmtenStelle laufe und dann dort lösche. Wenn mir jemand helfen könnte wäre ich dankbar.

Code:
class Element {
	int value;
	Element next;
	public Element getNext() {
		return next;
	}
	Element(int v, Element n) {
		this.value = v;
		this.next = n;
	}
	public int getValue() {
		return value;
	}
	boolean isElem(int v){
		Element hilf = this.next;
		while (hilf != null){
			if (hilf.value == v) return true;
			hilf = hilf.next;
		}return false;
	}
}
class List {
	Element first, last;
	List() {
		this.first = null;
		this.last = null;
	}
	void append(int i) { // Anhaengen am Ende
		Element elem = new Element(i, null);
		if(!isInList(i)){
		if (this.first == null) {
			this.first = elem;
			this.last = elem;
		} else {
			this.last.next = elem;
			this.last = elem;
		}}
	}
	boolean isInList(int v){
		Element hilf = this.last;
		while (hilf != null){
			if (hilf.value == v) return true;
			hilf = hilf.next;
		}return false;
	}
	void change(int i){

		if(!isInList(i)){
			Element elem = new Element(i, first.getNext());
			Element backUp = new Element(this.first.value, first.getNext());
			this.first = elem;
			this.first.next = backUp;
		}
		if (isInList(i)){
			Element elem = this.last;
			while (elem != null){
				if ( elem.value == i){
					this.first = this.first.next;
					this.first.next = elem;
				}
			}
		}
	}
}
public class Aufgabe3 {

	public static void main(String[] args) {
		List list = new List();
		list.append(4);
		list.append(3);
		list.append(5);
		list.append(7);
		list.change(3);
		System.out.print(list.first.getValue());
		System.out.print(list.first.next.getValue());
		System.out.print(list.first.next.next.getValue());
		System.out.print(list.last.getValue());
	}

}

Es geht um den teil change für if(isInList(i)) von void changeund was da gerade drinn steht ist blödsinn.
 
S

SlaterB

Gast
das Durchlaufen ist einfach, hast du doch schon für
isInList(int v)
umgesetzt, so in der Art auch hier,

fehlt noch das Löschen an sich,
male dir auf Papier auf, wie die Liste vor dem Löschen aussieht, das aktuelle Element, zwei davor und zwei danach und alle ihre next-Zeiger,
außerdem malst du dir auf, wie die Liste danach aussehen soll,

dann überlege, welche next-Zeiger aus dem ersten Bild sich wie verändern
 

Herr Fischer

Mitglied
Da liegt auch eins meiner Probleme, also nicht die Zeiger an sich, sondern wie benenne ich den ausgangspunkt beim löschen? Das erste Element heißt first und das letzte last, nur wie heißen die dazwischen. Weil wenn z.B das drite von 4 Elementen löschen will muss der Zeiger vom zweiten ja auf das vierte ausgerichtete werden, aber die heißen ja nicht eins zwei, drei usw.
 
S

SlaterB

Gast
du hast beim Durchlaufen Variablen wie z.B. hilf in isInList(int v)

nun kannst du zum Zeitpunkt des Fundes
hilf.next = null;
setzen oder irgendwas anderes tun
 

Herr Fischer

Mitglied
Ich glaube mein Programm geht garnicht in die Schleife, da es nicht überprüft, ob i in der Liste ist. Das irrtiert mich, daisInList funktioniert, wenn man das modifizierte append benutzt. Naja zu mindest weiß ich jetzt warum nichts funktioniert.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Verkettete Liste Java Basics - Anfänger-Themen 1
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
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
A Verkettete Liste Java Basics - Anfänger-Themen 2
B Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 8
L verkettete Liste Java Basics - Anfänger-Themen 15
scratchy1 doppelt verkettete Liste testen Java Basics - Anfänger-Themen 8
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
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
B Doppelt Verkettete Liste - Ist alles gut so? Java Basics - Anfänger-Themen 3
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
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
hooked Verkettete Liste / linked list Java Basics - Anfänger-Themen 2
L Doppelt verkettete Liste Java Basics - Anfänger-Themen 6
J Eine Art verkettete Liste aber mit teils mehr als einem Nachfolger Java Basics - Anfänger-Themen 8
V Verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 3
R doppelt verkettete Liste aus Arrays erstellen Java Basics - Anfänger-Themen 1
K Einfach Verkettete Liste - addFirst() Java Basics - Anfänger-Themen 7
G 2 Aufgabe rund um eine verkettete Liste Java Basics - Anfänger-Themen 2
O Verkettete Liste Java Basics - Anfänger-Themen 10
E Methoden auf von Methoden erstellte Objekte zugreifen (verkettete Liste) Java Basics - Anfänger-Themen 10
X Einfach verkettete Liste, keine Fehlermeldung Programm friert ein Java Basics - Anfänger-Themen 4
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
V Verkettete Liste. Java Basics - Anfänger-Themen 7
X Einfach Verkettete Liste Java Basics - Anfänger-Themen 16
K Verkettete Liste - Methode entwerfen Java Basics - Anfänger-Themen 14
S Verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 12
B Insertionsort verkettete Liste Java Basics - Anfänger-Themen 4
B Stack in eine verkettete Liste pushen Java Basics - Anfänger-Themen 4
R verkettete liste ansEndeSchieben Java Basics - Anfänger-Themen 13
T Verkettete Liste Java Basics - Anfänger-Themen 14
A Klassen Innere Klassen, verkettete Liste Java Basics - Anfänger-Themen 9
B Zweifach-verkettete Liste umkehren Java Basics - Anfänger-Themen 6
X verkettete Liste Java Basics - Anfänger-Themen 13
E Datentypen Doppelt verkettete Liste Java Basics - Anfänger-Themen 10
P Einfügen in doppelt verkettete Liste Java Basics - Anfänger-Themen 7
kae verkettete Liste Java Basics - Anfänger-Themen 5
S Queue als doppelt verkettete Liste Java Basics - Anfänger-Themen 2
S Stack als verkettete liste/ toString methode Java Basics - Anfänger-Themen 3
B OOP Verkettete Liste Java Basics - Anfänger-Themen 7
R verkettete liste Java Basics - Anfänger-Themen 5
M Verkettete Liste Java Basics - Anfänger-Themen 4
M verkettete liste Java Basics - Anfänger-Themen 7
N doppelt verkettete liste einfügen Java Basics - Anfänger-Themen 7
K Datentypen Einfach/Doppelt verkettete Liste Java Basics - Anfänger-Themen 4
N einfach verkettete liste fehler Java Basics - Anfänger-Themen 5
N einfach verkettete liste Java Basics - Anfänger-Themen 3
G verkettete Liste - invertieren Java Basics - Anfänger-Themen 2
B OOP Einfach verkettete Liste - rekursive Methoden Java Basics - Anfänger-Themen 1
B verkettete Liste Java Basics - Anfänger-Themen 8
S zyklisch verkettete Liste erstellen Java Basics - Anfänger-Themen 3
S einfach verkettete Liste Java Basics - Anfänger-Themen 19
O Stack Implementierung als verkettete Liste Java Basics - Anfänger-Themen 8
W Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 2
T Einfach verkettete Liste: Wie Elemente löschen? Java Basics - Anfänger-Themen 4
J verkettete Liste Java Basics - Anfänger-Themen 2
D Einfach verkettete Liste Java Basics - Anfänger-Themen 20
DasDogma Verkettete Liste - Element löschen Java Basics - Anfänger-Themen 2
M verkettete Liste auslesen Java Basics - Anfänger-Themen 7
K eigene verkettete Liste Java Basics - Anfänger-Themen 4
G Doppelt verkettete, generische Liste Java Basics - Anfänger-Themen 11
A Eine verkettete Liste Java Basics - Anfänger-Themen 43
G verkettete lineare Liste Java Basics - Anfänger-Themen 2
L verkettete Liste - Ausgabeproblem Java Basics - Anfänger-Themen 2
G Wie kann ich eine verkettete Liste in ein JTable einfügen? Java Basics - Anfänger-Themen 7
D doppelt verkettete Liste Java Basics - Anfänger-Themen 16
S Doppelt Verkettete Liste Java Basics - Anfänger-Themen 7
R ArrayList Objekt -> verkettete Liste Java Basics - Anfänger-Themen 4
R verkettete Liste Java Basics - Anfänger-Themen 13
R verkettete Liste in und aus Datei Java Basics - Anfänger-Themen 5
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
C einfach verkettete Liste -> Elemente vertauschen Java Basics - Anfänger-Themen 2
0 Binärbaum als verkettete Liste Java Basics - Anfänger-Themen 3
B Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 12
G Dopplelt verkettete liste Java Basics - Anfänger-Themen 4
B Doppelt verkettete Liste Java Basics - Anfänger-Themen 16
R einfach verkettete Liste, intersect Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben