数据结构-使用C语言 朱战立第2章线性表的链式表示.ppt

数据结构-使用C语言 朱战立第2章线性表的链式表示.ppt

数据结构-使用C语言 朱战立第2章线性表的链式表示

* 循环链表(circular linked list) 循环链表是表中最后一个结点的指针指向头结点,使链表构成环状 特点:从表中任一结点出发均可找到表中其他结点,提高查找效率 操作与单链表基本一致,循环条件不同 单链表p或p-next=NULL 循环链表p或p-next=head h h 空表 * 双向链表(double linked list) 单链表具有单向性的缺点 结点定义 typedef struct node { datatype element; struct node *prior,*next; }dnode; prior element next L 空双向循环链表: 非空双向循环链表: L A B b c a p p-prior-next= p= p-next-prior; NextElem的执行时间为O(1) PriorElem的执行时间为O(n) * b c a P void del_dulist(dnode *p) {p-prior-next=p-next; p-next-prior=p-prior; free(p); } 删除 算法描述 算法评价:T(n)=O(1) p-prior-next=p-next; p-next-prior=p-prior; * void ins_dulist(dnode* p,int x) {dno

文档评论(0)

1亿VIP精品文档

相关文档