服装行业的竞争状况:数据结构

来源:百度文库 编辑:高校问答 时间:2024/04/28 22:23:38
双链表的插入操作
void DInsertBefore(DListNode *p,DataType x)

{//在带头结点的双链表中,将值为x的新结点插入*p之前,设p≠NULL

DListNode *s=malloc(sizeof(DListNode));//①

s->data=x;//②

s->prior=p->prior;//③

s->next=p;//④

p->prior->next=s;//⑤

p->prior=s;//⑥

}
为什么一些语句不是这样
p->prior=s->prior;//③

p=s->next;//④

s=p->prior->next;//⑤

s=p->prior;//

你的4,5,6都是没用的,应该改变的是链表里的指针,但你这三行改变的是外部的指针,你只是让他们指向了别的地方,链表里的指针没有改变。