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

为什么我将插入函数的第二个参数换成(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);//单链表的插入
                                    //参数列表(头结点,插入位置,插入元素) 
    }
}

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