2.3.2 单链表中基本操作的实现

  以下重点讨论线性表的五个基本操作在链式存储结构中的实现。

 一、初始化操作

  根据上一节的约定,初始化建一个空的链表即为建立一个只有头结点的链表。

算法 算法2.13
  void InitList( SLink &L )
 {
  // 创建一个带头结点的空链表,L 为指向头结点的指针
  L = new LNode;
  if (!L) exit(1);  // 存储空间分配失败
  L->next = NULL;
 } // nitList

  算法的时间复杂度O (1)

 

  思考题 "空"链表的头指针是否为NULL?



  链表是一个进行动态存储管理的结构,因此在初始化时不需要按照线性表实际所需最大容量进行预分配。