《数据结构》(C语言)第二线性表分析.ppt

a1 a2 … ... an 双向循环链表 空表 非空表 双向链表的操作特点: “查询” 和单链表相同。 “插入” 和“删除”时需要同时修改两个方向上的指针。 ai-1 ai e s-prior= p-prior; p-prior -next=s; s-next = p; p-prior = s ; p s ai-1 ai 插入操作 ai-1 删除操作 ai ai+1 p-prior-next = p-next; p-next-prior = p-prior; p ai-1 ai-1 删除(2) ai ai+1 p-next = p-next-next; p-next-prior = p; p ai-1 静态链表 有些语言未提供指针类型,可以用顺序表实现链接。 #define MAXSIZW 1000 //数组的最大长度 Typedef struct{ ElemType data; int cur; //等同于链表的指针域,实质是后继结点的下标 } component, SLinkList[MAXSIZE]; 有如下的定义 SlinkList S; S[0]等效于链表的头结点, S[0].cur指示首结点在数组的位置; 若数组第

文档评论(0)

1亿VIP精品文档

相关文档