Domanda

Ho cercato di ottenere una bubble ordinando un doppio elenco di collegamenti e ho letto su Internet per farla funzionare con un singolo elenco collegato sarebbe più facile, quindi l'ho provato e questo è il mio codice

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;

    }

Come cambierei per funzionare con un doppio elenco collegato?

È stato utile?

Soluzione

Dal tuo punto di vista dell'implementazione, non importa se si tratta o meno di un elenco doppiamente collegato, per la parte di smistamento (gorgogliante) almeno perché stai semplicemente cambiando il contenuto anziché i puntatori.

Altri suggerimenti

Se si modificano solo il contenuto (dati) di ciascun nodo e non sposti i nodi stessi, non vedo alcun motivo per cambiare nulla.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top