读书人

一个初级的删除链表有关问题

发布时间: 2012-02-22 19:36:56 作者: rapoo

一个初级的删除链表问题
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。完全可以~

读书人网 >C++

热点推荐