一个初级的删除链表问题
int DeleteElem(element** head, element* deleteMe)
{
element* elem = *head;
if(deleteMe == *head)
{
*head = elem-> next;
free(deleteMe);
return 1;
}
while(elem){
if(elem-> next == deleteMe){
elem-> next = deleteMe-> next;
free(deleteMe);
elem = elem-> next;
}
return 0;
}
问题是: 1。为什么参数表中要 指向头指针的指针 直接头指针可否?
2。下面的while语句可否改为 for (; elem;elem=elem-> next)
[解决办法]
1。为什么参数表中要 指向头指针的指针 直接头指针可否?
这样可以修改传入的那个表头,例如万一删除了表头,需要修改传入的表头
2。完全可以~