回 帖 发 新 帖 刷新版面

主题:【C语言实现】单链表合并,高手请进

以下是本人写的一个算法,将L2中的元素合并到L1中(但是元素相同的不做合并)。不过就是不出结果,大侠们按照我的思路,看看错在哪里。帮本人改进一番,小女子感激不尽。
在线等待...
int  mergellist(llink &L1,llink &L2)
{
    llink ptr,ptr1,r;
    if(!L1||!L2)
        return 0;
    ptr1=L1;
    while(ptr1)
    {
        while(L2->number==ptr1->number)
          L2=L2->next;
        
        ptr=L2;
        r=ptr->next;
        
        while(r)
        {
            while(r->number==ptr1->number)
            r=r->next;
            
            while(r->number!=ptr1->number)
            {
                r=r->next;
                ptr=ptr->next;

            }
        }
      
       ptr1=ptr1->next;      
    }
        
    ptr1=L2;
    return 1;
}

回复列表 (共1个回复)

沙发


你的是C语言描述的吗?还是C++?
C语言里面我记得好像不能用 &L1的引用的吧?应该用指针 *L1
其次,如果你用了“引用”,即&,则不能用->的形式,而要用点
例如 L1.next

我来回复

您尚未登录,请登录后再回复。点此登录或注册