Linklist refferenz tausch

hi, wie der Titel schon sagt würde ich gerne von meiner linklist die Refferenz tauschen was mir leider nicht klappt. So sieht mein Ansatz aus:

private static class Node<E> {
        E data;
        Node<E> next;

        Node(E data) {
            this.data = data;
        }
    }

    private int nodeCount = 0;
    private Node<E> first;


public void tausch() {
        
        
        
        Node<E> a = first;//a
        
        Node<E> b = first.next;//b
    
        
        Node<E> c = b.next;//c 
        
        //Node<E> temp = new Node();
        
        a.next = c;//b->a 
        
        b.next = b;   
        

    }

Bitte um Hilfe.

Dann hätteich noch das Problem das ich das Sortieren möchte :(. Ich komm einfach nicht weiter

Bin mir anhand des Codes nicht sicher, welche Elemente hier vertauscht werden sollen. Der Kommentar //b->a deutet darauf hin, dass a und b vertauscht werden sollen, richtig? Im Zweifel hilft hier aufmalen. Dann sieht man schnell, was bei b.next gesetzt werden muss, damit a nach b kommt… in Deinem Code kommt jetzt b nach b. Das sollte sofort ins Auge stechen, dass das nicht stimmen kann.

Und zum Thema Sortierung: Da wäre zunächst festzulegen, nach welchem Kriterium hier sortiert werden soll. E kann ja alles sein. Wenn man das festgelegt hat, kann man einen Vergleich zweier Elemente programmieren, der entscheiden kann, ob ein Element größer, kleiner oder gleich einem anderen ist. Das wäre der erste Schritt.