您的位置:首页 > 其它

删除链表中指定节点,要求时间复杂度为O(1)

2012-05-24 09:40 225 查看
思路:

(1)把要删除的节点的值与其next交换

(2)删除其next

(3)完成

算法:

void DeleteNode(LinkList *p){
if(p->next=NULL){
free(p);
p=NULL;
}else{
LinkList* lk=p->next;
int temp=p->data;
p->data=lk->data;
lk->data=temp;
p->next=lk->next;
free(lk);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: