私はこれを試します:
void
remove_duplicate(List l, int p, int r){
if(p<r){
int q =(r+p)/2;
remove_duplicate(l,p,q);
remove_duplicate(l,q+1,r);
merge_(l,p,q,r);
}
}
void
merge_(List lst, int p, int q, int r){
int i = p;
int j=q+1;
int l = r;
link lp = retNode(lst,p);
link lq = retNode(lst,q+1);
while(i<=q){
j=q+1;
while(j<=l){
if(lp->item==lq->item){remNode(lst,j);j--;l--;}
j++;lq=lq->next;}
i++;lp = lp->next;}
}
しかし、要素を削除すると「サブリスト」のサイズが小さくなり、機能しなくなります。アイデアはありますか?