链表(五)

小结:

1)链表包含一个 LinkList 对象和许多个 Link 对象。

2)LinkList 对象都包含一个引用,这个引用通常叫 first ,它指向链表的第一个链接点。

3)每个 LinkList 对象包含数据和一个引用,该引用叫做 next ,它指向链表的下一个链接点。

4)next 字段为 null , 表示已经到链表的结尾。

5)在表头插入链接点需要把新的链接点的 next 指向原来第一个链接点,然后把 first 指向新的链接点。

6)在表头删除链接点,需要 first = first.next();

7)为了遍历整个链表,从 first 开始,然后从一个链接点指向下一个链接点,方法是用每个链接点的 next 找到下一个链接点。

8)通过遍历链表可以找到拥有特定值的链接点。一旦找到,可以显示、删除、或其它方式操作该链接点。

9)新链接点可以插入某个特定值的链接点的前或后一个链接点,首先要遍历链表找到这个链接点。

10)双端链表在链表中维护一个指向最后一个链接点的引用,它通常叫 last 。

11)双端链表允许在表尾插入新的数据项。

12)抽象数据类型是一种数据类型存储类,不涉及它的实现。

13)栈和队列是ADT,它既可以用数组实现,又可以用链表实现。

14)有序链表中,链接点按照关键字 升序 / 降序 排序。

15)在有序链表插入需要 O(N) 的时间,因为必须找到正确的插入点,而最小链接点的删除仅需要 O(1) 的时间。

16)双向链表中,每个链接点(Link)都包含对前一个链接点的引用,也有后一个链接点的引用。

17)双向链表允许反向遍历,并可以删除链表中的最后一个链接点。

18)迭代器是一个引用,它被封装在类对象中,这个引用指向相关联的链表中的链接点。

19)迭代器方法允许使用者沿着链表移动迭代器,并访问当前指示的链接点。

20)能在迭代器遍历整个链表,并在选定的链接点(或所有链接点)上执行某些操作。

你可能感兴趣的:(链表)