单向环形链表

单向环形列表

单向环形列表

创建单向环形列表

先创建一个节点,构成环形,并且让first节点指向这个节点,这个first节点用来创建环形链表

当我们后面创建的节点,依次添加到这个环形链表中,定义一个辅助变量temp指向first;

遍历环形链表:定义一个辅助节点temp指向first节点,通过一个while()循环,若temp.next=first则遍历结束

/创建环形链表
class circlelist {
    //创建一个head结点,用来指向第一个节点,相当于自定义的一个头节点
    Node head = new Node();

    //添加节点,构成环形链表
    public void add4(int num) {
        Node temp = null;//辅助指针;用来创建环形来链表
        for (int i = 1; i <= num; i++) {
            //根据编号创建节点
            Node N = new Node(i);
            if (i == 1) {
                //开始添加一个节点,形成环形
                head = N;
                N.next = N;
                temp = N;
            } else {
                //向环形队列中添加节点
                temp.next = N;
                N.next = head;
                temp = N;
            }
        }
    }

    //遍历环形链表
    public void show3() {
        if (head.next == null) {
            System.out.println("链表为空");
            return;
        }
        //定义一个辅助变量来遍历链表
        Node temp = head;
        while (true) {
            System.out.println(temp.No);
            if (temp.next == head) {//已经遍历完
                break;
            }
            temp = temp.next;
        }
    }
}

posted @ 2020-12-29 19:03  胡木杨  阅读(95)  评论(0)    收藏  举报