Schlange als verkettete Liste

Status
Nicht offen für weitere Antworten.
M

Maxim

Gast
Hallo
ich beschaftige mich seit kurzem mit Datestrukturen
programmiere gerade Schlange als verkettete liste.
meine schlange ist rückwerts gekettet. ende>einfugen, kopf>rausholen oder löschen.
und beim löschen habe ich ein problem

Code:
Code
****************************************
public class Schlange {
public Knoten kopf;
public Knoten ende;
public Knoten vorgänger;
public Knoten nachfolger;
public int counter;
**********************
public Schlange() {
     kopf=new Knoten();// Pseudeknoten
     ende=new Knoten();
     vorgänger = kopf;
     kopf.nachfolger=ende;
     ende.vorgänger=kopf;
     counter=0;
****************************
public void LöschenKnoten (/*Knoten delKnoten*/){
    if(counter==0)
      throw new ArithmeticException("Keinen Knoten vorhanden");
      else{
        Knoten delKnote=kopf.nachfolger;
        kopf.nachfolger=delKnoten.nachfolger;// Verbindung zum übernächsten knoten wird erstellt
        delKnoten.nachfolger=null;// Verbindung zu nachfolger wird gelöscht
        delKnoten.ElementLöschen();
        counter--;
      }

*************************************
test
   System.out.println("Knoten löschen");
    schlange1.LöschenKnoten();
   // schlange1.LöschenKnoten(neuerknote1);
````````````````````````````````````````
Mein problem ist das ich Löschen Methode mit einem Parameter gemacht habe,es ist aber ganz normale Verkettete liste,dabei kann ich belibigen knoten löschen, ich darf aber beim Shlange nur den letzten Knoten löschen
Also habe ich parametr auskommentirt und dann kommt folgendes Fehler
"Schlange.java": Symbol kann nicht aufgelöst werden: Variable delKnoten in Klasse praktikum_teil1.Schlange in Zeile 60, Spalte 25

das ist diese zeile
kopf.nachfolger=delKnoten.nachfolger;// Verbindung zum übernächsten knoten wird erstellt

könnt mir vielleicht jemand helfen?

Maxim
 
B

Beni

Gast
Code:
Knoten delKnote=kopf.nachfolger;
delKnoten

Rechtschreibung lautet der Trick. :wink:

Aber wenn du schon da bist, ein paar Tips:
1. Markiere den kopf, das Ende, etc als private. Ansonsten kann jeder draufzugreiffen!

Code:
public class Schlange {
  private Knoten kopf;
  private Knoten ende;
  ...

2. Verwende keine ä,ö,ü. Es kann (es muss nicht, aber es kann) passieren, dass du plötzlich vor einem sehr unschönen Quellcode stehst (besonders wenn du mit verschiedenen Betriebssystemen arbeitest).

3. Methoden scheibt man normalerweise klein. Das ist kein muss, aber es hat sich so eingelebt (eine Methode ist auch eher ein Verb, und kein Nomen :wink: )
Code:
public void loeschenKnoten (/*Knoten delKnoten*/){


So, und nun wünsche ich dir viel Spass beim Coden. Java ist was tolles, sobald die Anfangsschwierigkeiten überwunden sind.

mfg Beni
 
M

Maxim

Gast
Ich danke dir Beni für die hilfsreiche Tipps

mit Java beschaeftige ich mich nicht so lange, und jetzt nach kurze Zeit Theorie, muss ich mich mit Datenstrukturen beschaeftigen, theoretisch habe ich alles verstanden, aber die Theorie in Paxis umsetzen, in meinem Fall eine Schlange programmiren, ist fuer mich ziemlich schwierig.

Vielleicht kennst du paar Seiten, wo mann sowas als Tutorials finden könnte??
ich habe bis jetzt nichts vernünftiges gefunden

nochmal danke

Maxim
 
M

Maxim

Gast
hallo
ich habe schon wieder ein kleines problem beim Testen,

ich habe in meine Schlange 3 Knoten eingefügt, und wollte die sofort ausketten, um zu uberprüffen ob alles funktioniert
ich bekomme folgende Meldug
java.lang.NullPointerException..............................
Erstellung einer Schlange
Knoten einfügen
Element einfügen
element0,element1,element2
Es ist/sind 3 Knoten in der Schlange
Knoten löschen
Exception in thread "main"

dann habe ich versucht mindesten nur einen Knoten zu löschen, bekomme so was
Knoten einfügen
Element einfügen
element0
element1
element2
Es ist/sind 3 Knoten in der Schlange
Knoten löschen
Es ist/sind 2 Knoten in der Schlange
also funktioniert alles, ich kann aber nicht verstehen wieso es beim 2 oder drei knoten nicht funktioniert.


Code:
public void löschenKnoten (){
   // bei TRUE/FALSE Benutzung -->>Methode boolean
    if(counter==0)
      //System.out.println("leer");
      throw new ArithmeticException("Keinen Knoten vorhanden");
     //return false; // falls Methode boolean
      else{
        Knoten delKnoten=kopf.nachfolger;
        kopf.nachfolger=delKnoten.nachfolger;// Verbindung zum übernächsten knoten wird erstellt
        delKnoten.nachfolger=null;// Verbindung zu nachfolger wird gelöscht
        delKnoten.elementLöschen();
        counter--;
klasse test
Code:
........................................................
 Knoten neuerknoten=schlange1.einfügenKnoten(element);
......................................................
 System.out.println("Knoten löschen");
    schlange1.löschenKnoten();
   // schlange1.löschenKnoten();
  //  schlange1.löschenKnoten();
    System.out.println("Es ist/sind " + schlange1.counter + " Knoten in der Schlange");
try{

    schlange1.löschenKnoten();
  }
catch (ArithmeticException e){ System.out.println(e);}
kann das jemand mir erklären?

Grüsse Maxim
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M doppelt verkettete Listen Allgemeine Java-Themen 2
M einfach verkettete Liste verstehen Allgemeine Java-Themen 23
K verkettete Liste Allgemeine Java-Themen 3
OSchriever Einfach verkettete Liste ändern Allgemeine Java-Themen 43
K Einfache Verkettete Liste mit Node Allgemeine Java-Themen 3
S Verkettete (Teil)Liste sortieren ( rekursiv bis n) Allgemeine Java-Themen 2
T Verkettete Suche Allgemeine Java-Themen 6
Z Sortiertes Einfügen in doppelt verkettete Liste Allgemeine Java-Themen 5
J Rekursion oder Iteration - verkettete Listen Allgemeine Java-Themen 8
L verkettete Listen oder Arrays + Indexlisten effizienter? Allgemeine Java-Themen 3
D Einfach verkettete Liste Allgemeine Java-Themen 3
R doppelt verkettete Liste: Fehler beim Einfügen Allgemeine Java-Themen 3
chik Doppelt verkettete Liste bzw. Zirkulärliste (kleiner Fehler, den ich nicht finde) Allgemeine Java-Themen 4
X einfach verkettete Liste und Insertion Sort Allgemeine Java-Themen 3
R Verkettete Liste Allgemeine Java-Themen 5
L Doppelt Verkettete Listen Allgemeine Java-Themen 6
E Verkettete Listen Allgemeine Java-Themen 5
F Doppelt verkettete Liste sortieren? Allgemeine Java-Themen 8
M doppelt verkettete Listen? Allgemeine Java-Themen 5
J Doppelt verkettete Liste Allgemeine Java-Themen 6
Fynn29 Liste sortieren ohne Array und ohne vorgegebene Sortierung Allgemeine Java-Themen 24
MiMa Filtern von TableView Liste Allgemeine Java-Themen 2
B Liste aller Kombintionen mit Einschränkungen Allgemeine Java-Themen 8
TheSepp Wie kann man Leerzeichen aus einer Array liste entfernen? Allgemeine Java-Themen 10
B Liste ändern während Iteration über Diese? Allgemeine Java-Themen 16
D Erste Schritte Liste erweitern Allgemeine Java-Themen 11
sserio Variablen Liste erstellt und ein Problem mit dem Index Allgemeine Java-Themen 6
L allgemein Strings händisch in Liste sortieren Allgemeine Java-Themen 47
Drachenbauer wie kann ich alle instanzen einer Klasse durchsehen, ohne, dass diese in einer Liste erzeugt wurden? Allgemeine Java-Themen 11
Gaudimagspam Skip Liste erstellen in Java Allgemeine Java-Themen 3
G Java Editor Löschen doppelter Zahlen einer Liste Allgemeine Java-Themen 2
bueseb84 Spring Boot Entity mit Liste Allgemeine Java-Themen 4
MiMa Werte in liste speichern? Allgemeine Java-Themen 3
Curtis_MC Collections Liste anhand mehrere Kriterien sortieren Allgemeine Java-Themen 6
G Liste (UsageStats) sortieren (Android) Allgemeine Java-Themen 5
T Google Links in einer Liste Allgemeine Java-Themen 4
looparda Liste filtern nach Prädikaten verschiedener Typen Allgemeine Java-Themen 3
L Liste überschreibt alte Elemte Allgemeine Java-Themen 10
H Länge einer verketteten Liste Allgemeine Java-Themen 4
E Erstellen einer Liste mit einer maximalen Menge an Elementen Allgemeine Java-Themen 13
P Element einer Liste wurde hinzugefügt, aber es gibt keinen Zugriff Allgemeine Java-Themen 2
S Methoden Liste soll Methode aus innerer Klasse aufrufen Allgemeine Java-Themen 4
L Erste Schritte Liste von Datums filter nach Monate Allgemeine Java-Themen 4
Y Liste in Stream Packen Allgemeine Java-Themen 1
perlenfischer1984 Reflection : Element in generische Liste hinzufügen Allgemeine Java-Themen 4
perlenfischer1984 Liste mit generics zurück liefern Allgemeine Java-Themen 8
G Liste zwischen zwei Kalenderdaten erstellen Allgemeine Java-Themen 3
B Wie vergleiche ich Strings in einer Liste? Allgemeine Java-Themen 5
Viktim Threads Liste In unterschiedlichen Threads bearbeiten Allgemeine Java-Themen 23
A Collections Inhalt einer Liste mit Inhalt anderer Liste vergleichen ? Allgemeine Java-Themen 7
I Abstrakte Datentypen - Liste Allgemeine Java-Themen 9
D Datentypen Klassenattribut aus Objekt in generischer Liste Allgemeine Java-Themen 15
P Liste zu Objekt umwandeln Allgemeine Java-Themen 4
Z In die Liste kann ich nichts adden Allgemeine Java-Themen 16
C Liste checken auf MINDESTENS ein Objekt | Bukkit Allgemeine Java-Themen 3
M liste von listen anders ausgeben Allgemeine Java-Themen 1
B Per Buttonklicks einer Liste Wörter hinzufügen - Wie umsetzen? Allgemeine Java-Themen 11
H Liste sortieren anhand optionalem Property Allgemeine Java-Themen 3
L Liste führt sich nicht weiter Allgemeine Java-Themen 5
A Input/Output Liste der Dateien in einem Ordner in einer Jar Datei erhalten Allgemeine Java-Themen 11
J Fragen zu generischer doppelt verketteter Liste (bei fehlendem Grundverständnis) Allgemeine Java-Themen 1
B Prüfen, ob ein Element in der Liste nicht existiert Allgemeine Java-Themen 3
B Klassen JTable mit einer Liste Allgemeine Java-Themen 0
X HTTP Auslesen der Ergebnisse von einer Webseite und in eine Liste packen Allgemeine Java-Themen 1
A Auslesen einer Datei sowie ausgeben als Liste in App Allgemeine Java-Themen 5
E Liste löscht sich selbstständig Allgemeine Java-Themen 5
H Liste von Objekten generisch sortieren Allgemeine Java-Themen 0
D Liste anhand Standardnormalverteilung befüllen Allgemeine Java-Themen 1
M Threads synchroner Zugriff (add/delete/read) auf eine Liste Allgemeine Java-Themen 6
T Datentypen Eine Liste - verschiedenen Klassen - eine Abstracte Klasse Allgemeine Java-Themen 3
M Werte aus DB in Liste speichern ohne mehrfach speicherung Allgemeine Java-Themen 18
G Liste anzahl der gleichen Objekte Allgemeine Java-Themen 6
S Pattern.Match Suche: For Schleife einbinden und in Liste schreiben Allgemeine Java-Themen 3
O aus Liste ein beliebiges Element auswählen Allgemeine Java-Themen 7
J Liste aller Com-Ports - zweistellige Ports? Allgemeine Java-Themen 15
O MVC - wo Liste der ComboBox-Items ermitteln Allgemeine Java-Themen 3
MiMa Liste von Pfaden in eine textArea schreiben Allgemeine Java-Themen 7
K kontinuierlich aktuelle Bestellsystem-Liste mit farbigem Status Allgemeine Java-Themen 2
A Auswählbare Liste Allgemeine Java-Themen 2
D Sortieren von Liste zu unperformant Allgemeine Java-Themen 6
N Liste gesucht Allgemeine Java-Themen 2
S Probleme beim Auslesen einer Liste Allgemeine Java-Themen 8
O JSON String bauen aus Liste Allgemeine Java-Themen 2
M Über Liste verschiendene JComponents mit eigenem implementierten Interface ansprechen Allgemeine Java-Themen 7
T Hashmap mit geordneter/ungeordneter liste als Value Allgemeine Java-Themen 5
D Zugriff auf Array-Liste Allgemeine Java-Themen 19
S Threads Liste mit Objekten in Teillisten zerlegen und abarbeiten Allgemeine Java-Themen 3
R ThreadPool - vorhandene thread liste überprüfen bzw. aufräumen Allgemeine Java-Themen 3
pg1337 Liste füllen Allgemeine Java-Themen 2
U Große Liste von Strings mit indiziertem Zugriff Allgemeine Java-Themen 31
B Properties File Liste Allgemeine Java-Themen 3
Gossi Collections Liste zusammenfassen für JSP Allgemeine Java-Themen 4
Gossi Collections (Unbekannte) Liste Sortieren Allgemeine Java-Themen 10
T Collections Liste schnell/nebenläufig durchgehen Allgemeine Java-Themen 2
M Objekt aus Liste in Liste suchen/löschen Allgemeine Java-Themen 6
Q "Doppelte" Einträge einer Liste entfernen Allgemeine Java-Themen 14
C Exponentielle Verteilung in einer Liste Allgemeine Java-Themen 7
Nic.o liste der installierten Zertifikate ?! Allgemeine Java-Themen 3
T Liste mit GregorianCalendar-Objekten in List einlesen, mit Collection sortieren und ausgeben Allgemeine Java-Themen 3
M Verständnisfragen bezüglich Liste Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben