线性表分为:
- 顺序存储结构:用一段地址连续的存储单元依次存储线性表的数据元素。
- 链式存储结构:单链表、静态链表、循环链表、双向链表
一、循环链表合并
两个循环链表的尾指针分别是rearA,rearB
A链表的头结点为rearA->next
B链表的头结点为rearB->next,第一个结点为rearB->next->next
1、保存A链表的头结点 p
2、将本是指向A表头结点的A表的尾指针 指向 B表的第一个结点(不是头结点)
3、保存B链表的头结点 q
4、将本是指向B表头结点的B表的尾指针 指向 A表的头结点
5、释放B链表的头结点 q
p=rearA->next;
rearA->next=rearB->next->next;
q=rearB->next;
rearB->next=p;
free(q);//释放q
二、双向链表的插入和删除
线性表的双向链表存储结构
typedef struct DulNode
{
ElemType data;