您的位置:首页 > 编程语言

编程实现一个单链表节点的删除

2017-08-07 10:54 295 查看
【单链表节点的删除】:

//删除单链表的pos位置的节点,返回链表头指针
//pos从1开始计算,1表示删除head后的第一个节点

node *delete_node(node *head, int pos)
{
node *item = NULL;
node *p = head->next;
int i = 0;

if(p == NULL)
{
cout << "Empty Link!" << endl;
return NULL;
}
while(i < pos) //通过循环定位到pos-1位置
{
p = p->next;
++i;
}
if(p != NULL && p->next != NULL)
{
item = p->next;
p->next = item->next;
delete item;
}
return head;
}


摘自《C和C++程序员面试秘笈》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: