用java泛型实现循环链​​表

我正在学习 Java,我仍然是初学者。我编写了这段代码来实现一个循环链表,当我尝试打印列表时,它会不断打印数字。它看起来像是某种无限循环。我什至尝试使用调试,但它对我没有多大作用。如果您能查看代码并了解为什么会发生这种情况,我将不胜感激。这是下面的代码。我也会为我提供有关代码的反馈:) 这是循环链表的类


public class CircularLinkedList<E> implements API<E> {

    private Node<E> head;

    private int size = 0;


    public void placeAtBeginning(E element) {

        Node<E> newNode = new Node<E>(element);

        if(head == null) {

            head = newNode;

            head.setNext(head);

        }else {

            Node<E> temp = head;

            head = newNode;

            newNode.setNext(temp);

        }

        size++;

    }


    public void placeAtEnd(E element) {

        Node<E> newNode = new Node<E>(element);

        if (head == null) {

            head = newNode;

        }else {

            Node<E> temp = head;

            while (temp.getNext() != head) {

                temp = temp.getNext();

            }

            temp.setNext(newNode);

        }


        newNode.setNext(head);

        size++;

    }


    public void deleteFromBeginning() {

        Node<E> temp = head;

        while (temp.getNext() != head) {

            temp = temp.getNext();

        }

        temp.setNext(head.getNext());

        head = head.getNext();

        size --;

    }


    public void deleteFromEnd() {

        Node<E> temp = head;

        while(temp.getNext().getNext() != head) {

            temp = temp.getNext();

        }

        temp.setNext(head);

        size--;

    }


    public void print() {

        Node<E> temp = head;

        while(temp.getNext()!= head) {

            System.out.print(temp.getValue() + " , ");

            temp = temp.getNext();

        }

        System.out.print(temp.getValue());

    }

}

这是我的节点的类


public class Node<T> {

    private Node<T> next;

    private T item;


    public Node(T item) {

        this.item = item;

    }


    public void setNext(Node<T> next) {

        this.next = next;

    }


    public Node<T> getNext() {

        return this.next;

    }


    public T getValue() {

        return this.item;

    }

}


慕妹3146593
浏览 176回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python