首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-02-22 
一个初级的删除链表问题intDeleteElem(element**head,element*deleteMe){element*elem*headif(deleteMe

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

热点排行