Verknüpfte Liste umkehren

Problem beim Umkehren einer verknüpften Liste ohne Verwendung von Rekursion.

Ich habe diese Methode verwendet, aber wenn ich versuche, diese zu Hause auszuführen, kann ich die Rückseite der verknüpften Liste nicht drucken, obwohl die Funktion gut aussieht. Die verknüpfte Liste wird dann auf die gleiche Weise wie zuvor gedruckt.

Kann mir jemand helfen zu verstehen was hier falsch ist ???

class link {
    int data;
    public link nextlink;

    link(int d1) {
        data = d1;
    }
}

class List{

    link head;
    link revhead;

    List(){
        head = null;
    }

    boolean isEmpty(link head) {
       return head==null;
    }

    void insert(int d1) {
        link templink = new link(d1);
        templink.nextlink = head;
        head = templink;
    }

    void printlist(){
        link head1 = head;
        while(!isEmpty(head1)) {
            System.out.print(head1.data + " ");
            head1 = head1.nextlink;
        }
        System.out.println();
    }

    void reverse() {
        link previous=null,temp=null;
        while(isEmpty(head)) {
            temp = head.nextlink;
            head.nextlink = previous;
            previous = head;
            head = temp;
        }
    }

}

public class LinkedList {

    public static void main(String[] args) {

        List list1 = new List();

        list1.insert(10);
        list1.insert(20);
        list1.insert(30);
        list1.insert(40);
        list1.insert(50);
        list1.printlist();
        list1.reverse();
        list1.printlist();
     }
}

Antworten auf die Frage(5)

Ihre Antwort auf die Frage