求链表中第i个结点的指针,请问一下我这哪错了?

  1. link solve(link & L, int i)
    {
        link p;
    	p=L->next;
    	if(i==0)
        p=NULL;
        else if(i==(-1))
        return L;
    	else
            {
                i=i--;
                while(p!=NULL&&i!=0)
                {
                    p=p->next;
                    i=i--;
                }
            }
    		
    
    	return p;
    }
    

     

没看懂你i=-1返回L是什么意思。还有,这个链表有没有头结点?有头结点的话0应该返回头结点。还有。要i减小1,直接就i--;或者i-=1; i=i--....我真的第一次见这么写的。第四行,p=L才对,你那么写,p就直接指向了第二个节点了。。。


 

我感觉 i = i--;没意义。直接i--就行。

特别我觉着你这样写会有问题,根本找不出对于i的节点。具体是什么没有全部代码我也说不上。