写注释void DelPriorLNode s int a; LNode pq;q为s的前驱p为q的前驱 p=q=s; whileq-next!=s q=q-next; whilep-next!=q p=p-next; a=q-data; p-next=s; freeq;
// 删除给定节点的前驱节点 void DelPrior(LNode *s){ int a; // 保存前驱节点的值 LNode *p,*q; // p为前驱节点的前驱节点,q为前驱节点
// 初始化p和q为s节点
p=q=s;
// 找到s节点的前驱节点q
while(q->next!=s){
q=q->next;
}
// 找到q节点的前驱节点p
while(p->next!=q)
p=p->next;
// 保存q节点的值
a=q->data;
// 将p节点的next指向s节点,即删除q节点
p->next=s;
// 释放q节点的内存
free(q);
}
原文地址: http://www.cveoy.top/t/topic/jbpy 著作权归作者所有。请勿转载和采集!