已知ptr是无头节点的单链表的头指针变量,试写出删除该链表中从第i个结点开始的连续k个结点的算法

要正确的,非常的急
2024-12-18 05:32:47
推荐回答(3个)
回答1:

void delete (linklist *&ptr)
{linklist *p;*q;
int m=1,count=0;
if(ptr!=NULL&&i<=m&&countnext;m++;count++;}//i=1时从第一个结点就开始删除;
if(ptr!=NULL&&m {p=ptr;
q=p->next;m+=1;
while(q!=NULL&&mnext;m++;}//查找第i个结点的位置q
while(q!=NULL&&i<=m&&count {p->next=q->next;q=p->next;m++;count++;}
//从第i个结点开始连续删除K个结点
}
}
这题是我自己做的,你可以自己运行哈.如果有头结点就不用这么麻烦。目前我也正在学编程,考研,我的QQ号344083265,可以一起讨论。

回答2:

Linklist DeleteLinklist(Linklist l,int i,int k)
{
Linklist p,temp;
p=l;
int j;
for(j=0;jl=l->next;

for( j=0;j{temp=l->next;
free(l);
l=temp;
}
return p;
}

回答3:

才10分,不急吧