顺序表
顺序表的特点
元素的逻辑顺序与物理顺序一致 插入时间复杂度n/2; 删除时间复杂度(n-1)/2; 关键词是存取任一指定序号的元素
链表
顺序表是随机访问 顺序存储,而链表是顺序访问,
单链表
单链表分为带头结点与不带头节点两种,在许多情况下,带头节点的单链表能简化运算的实现过程。
头节点的好处
1.有了头节点,就可以在首元节点前插入或删除,其操作就与其他节点统一了 2.当链表不设头结点时,假设L为单链表的头指针,它应该指向首元结点,则当单链表为长度n为0的空表时,L指针为空(判定空表的条件可记为:LNULL)。增加头结点后,无论链表是否为空,头指针都是指向头结点的非空指针。头指针指向头结点。若为空表,则头结点的指针域为空(判定空表的条件可记为:L->next NULL)
循环链表
链表尾节点的next指针不是NULL,而是指向了单链表的前端,为了简化操作,在循环链表中往往加入头节点。 循环链表判空条件为 L->next=L.(L指头节点) 优点:从表中任意节点出发可访问所有节点。
双向链表
### 总结 查找m的尾节点需要时间
查找尾节点的前一个节点需要遍历链表