设为首页 加入收藏

TOP

一步一步写算法(之循环单向链表) (二)
2014-11-23 23:33:48 来源: 作者: 【 】 浏览:5
Tags:步一步 算法 循环 单向
;

LINK_NODE* prev = NULL;

if(NULL == ppLinkNode || NULL == *ppLinkNode)

return FALSE;

pIndex = find_data(*ppLinkNode, data);

if(NULL == pIndex)

return FALSE;

if(pIndex == *ppLinkNode){

if(pIndex == pIndex->next){

*ppLinkNode = NULL;

}else{

prev = pIndex->next;

while(pIndex != prev->next)

prev = prev->next;

prev->next = pIndex->next;

*ppLinkNode = pIndex->next;

}

}else{

prev = pIndex->next;

while(pIndex != prev->next)

prev = prev->next;

prev->next = pIndex->next;

}

free(pIndex);

return TRUE;

}和添加数据一样,删除数据也要在两个方面做出改变:

a)如果当前链表节点中只剩下一个数据的时候,删除后需要设置为NULL

b)删除数据的时候首先需要当前数据的前一个数据,这个时候就可以从当前删除的数据开始进行遍历

c) 删除的时候需要重点判断删除的数据是不是链表的头结点数据

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇一步一步写算法(之链表逆转) 下一篇六个变态的Hello Word!(C语言版..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: