Wenn meine Blasensortierung mit einer doppelt verknüpften Liste funktioniert
-
27-10-2019 - |
Frage
Ich habe versucht, Bubble -Sortierung eine Doppel -Link -Liste zu erhalten, und ich habe im Internet gelesen, damit sie mit einer einzigen verlinkten Liste funktioniert, wäre einfacher, also habe ich das versucht und dies ist mein Code
public void bubbleSort()
{
StudentNode n;
boolean isSorted=false;
for(int i=lenght-1; i>1 && isSorted==false; i--)
{
for(int j=0; j<i; j++)
{
n=L.head;
isSorted=true;
for(int k=0; k n.next.data)
{
isSorted=false;
swap(n, n.next);
}
}
}
}
public void swap(StudentNode N1, StudentNode N2)
{
int temp=N1.data;
N1.data=N2.data;
N2.data=temp;
}
Wie würde ich es ändern, um mit einer doppelt verknüpften Liste zu arbeiten?
Lösung
Aus Sicht Ihrer Implementierung spielt es wirklich egal, ob es sich um eine doppelt verknüpfte Liste handelt oder nicht, für den Sortier (sprudelnden) Teil zumindest, da Sie den Inhalt einfach anstelle von Zeigern ändern.
Andere Tipps
Wenn Sie nur den Inhalt (Daten) jedes Knotens ändern und die Knoten nicht selbst bewegen, sehe ich keinen Grund, etwas zu ändern.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow