数据结构与算法·其五
循环链表
好处是从表中任意一点出发均可找到表中其他节点
遍历操作的终止条件是p!=L
循环链表的合并
将a表的尾节点指针域指向b表的第一个节点;b的尾结点指向a表的头节点;释放b表的头节点;
双向链表
具体算法
- 插入元素(在i位置之前插入元素e)
- if(!(p=Getelemp*Dul(L,i))) return ERROR;*找到要被插入的节点_
- S=new DulNode;S->data=e;
- S->prior=p->prior;p->prior->next=S;
- S->next=p;p->prior=s;
- 删除元素
- 略
双链表更方便了,但是存储空间更大,插入元素要修改更多的指针。
各种链表的时间效率比较
链表的使用场景是需要频繁增加删除元素;
顺序表的使用场景是不经常增删,却经常改查;