Hallo an die Community,
Ich sitze seit Stunden verzweifelt vor meinem Code.
Ich habe eine Queue programmiert und möchte in dieser nun die Knoten sortieren.
Ich habe eine "Tauschen"-Methode, welche auch einwandfrei funktioniert, aber der Sortieralgorithmus (Bubble Sort) macht was er will.
Hier der Quellcode der Tauschen-Methode:
Und hier der Code des Sortier-Algorithus:
Ich hoffe die Namen der Methoden wie z.B. amount() erklären deren Funktion.
Ansonsten einfach fragen.
Sobald ich die Methode zum Sortieren aufrufe, werden mehrere Zahlen getauscht, jedoch nicht sortiert.
Ich hoffe, dass ihr mir helfen könnt! :idea:
Grüße,
CrazIbiza
Ich sitze seit Stunden verzweifelt vor meinem Code.
Ich habe eine Queue programmiert und möchte in dieser nun die Knoten sortieren.
Ich habe eine "Tauschen"-Methode, welche auch einwandfrei funktioniert, aber der Sortieralgorithmus (Bubble Sort) macht was er will.
Hier der Quellcode der Tauschen-Methode:
Java:
public void swap(int x, int y){
if(y<x){
int dummey = x;
x=y;
y=dummey;
}
Node a = getHead();
Node b = getHead();
Node dummy;
for (int j = 0; j<x-1; j++){
a = a.next();
}
for (int j = 0; j<y-1; j++){
b = b.next();
}
if(x>1&&y<amount()){
dummy = b.next();
b.setNext(a.next());
a.setNext(b);
getNode(x).setNext(b);
getNode(y).setNext(a);
a.setNext(dummy);
}
if(x==1&&y<amount()){
dummy = b.next();
b.setNext(a.next());
head = b;
Node c = getNode(y-1);
c.setNext(a);
a.setNext(dummy);
}
if(y==amount()&&x>1){
b.setNext(a.next());
getNode(x).setNext(b);
Node c = getNode(y);
c.setNext(a);
a.setNext(a);
tail = a;
}
if(y==amount() && x==1){
b.setNext(a.next());
head = b;
Node c = getNode(y);
c.setNext(a);
a.setNext(a);
tail = a;
}
}
Und hier der Code des Sortier-Algorithus:
Java:
public void Sort()
{
for(int i=0; i<amount(); i++)
for(int j=0; j<amount(); j++)
{
if(getContent(j) < getContent(j+1))
{
swap(j,j+1);
}
}
}
Ich hoffe die Namen der Methoden wie z.B. amount() erklären deren Funktion.
Ansonsten einfach fragen.
Sobald ich die Methode zum Sortieren aufrufe, werden mehrere Zahlen getauscht, jedoch nicht sortiert.
Ich hoffe, dass ihr mir helfen könnt! :idea:
Grüße,
CrazIbiza