数据结构之线性表(链式表示之双链表)
结构体定义:
typedef struct DNode{
ElemType data;
struct DNOde *prior,*next;
}DNode,*DLinklist;
基本操作:
插入操作(无表尾):
s为要插入的结点
p为s插入后的前驱结点
s->next=p->next;
p->next->prior=s;
s->prior=p;
p->next=s;
时间复杂度:O(1)
删除操作:
q为要删除的结点
p为q的前驱结点
p->next=q->next;
q->next->prior=p;
free(q);
时间复杂度:O(1)
还没有评论,来说两句吧...