线性表的合并算法,算法如下

为什么我将插入函数的第二个参数换成(m+ i)时,这个函数就无效了呢。

void MergeList(LinkList &L1 , LinkList &L2){
    int m = ListLength(L1);
    int n = ListLength(L2);
    ElemType s = 0;
    for(int i = 1;i <= n;i++){
        GetElem(L2 , i , s);//获取指定位置的元素并将其赋值给s 
                        //参数列表(头结点,元素位置,获取元素值的参数) 
        if(!LocateElem(L1 , s))//定位
                                //假如s在单链表中,返回第一个含有该元素的结点的指针 
                                //否则返回NULL 
            ListInsert(L1 , ++m , s);//单链表的插入
                                    //参数列表(头结点,插入位置,插入元素) 
    }
}

1个回答

ListInsert(L1 , ++m , s); 这一行应该不是每次循环都执行的吧

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐