大话数据结构四:线性表的链式存储结构(单向循环链表)
1. 单向循环链表:将单链表尾结点的指针端由空指针改为指向头结点,使整个单链表形成一个环,这种头尾相接的单链表称为单向循环链表。
2. 单向循环链表和单链表实现的区别:
1.)添加一个结点到单向循环链表末尾时,必须使其最后一个结点的指针指向表头结点,而不是象单链表那样置为null。
2.)判断是否到达表尾时,单向循环链表可以判断该结点是否指向头结点,单链表只需要知道是否为null。
3.java实现单向循环链表:
// 测试类public class Main {public static void main(String[] args) {CircularLinkedList<Integer> circular = new CircularLinkedList<Integer>();circular.addBeforeHead(3);circular.addBeforeHead(2);circular.addBeforeHead(1);circular.addAfterTail(4);circular.addAfterTail(5);circular.addAfterTail(6);circular.insert(1,0);circular.insert(8,7);circular.insert(5,8);circular.delete(5);circular.display();System.out.println("链表的长度为: " + circular.getSize());}}