2 qq 27626645 qq_27626645 于 2016.03.09 15:35 提问

在长度大于1的单循环链表中既无头结点也无头指针s为指向某个结点的指针编写算法删除结点*s的前驱结点

如链表中为(1,2,3,4,5),用户输入1,则结果应为(1,2,3,4)。这种情况实现不了,求大神解答

#include
using namespace std;
typedef struct LNode
{
int data;
struct LNode *next;

}LNode,*LinkList;
void begin(LinkList &l)
{
l=new LNode;
l->next=NULL;
}
void Input(LinkList &l,int n)
{
LinkList r=l;
cout<<"请输入数据"< for(int i=0;i {
LinkList p=new LNode;
cin>>p->data;
p->next=l;
r->next=p;
r=p;

}

}
void remove(LinkList &l,LinkList &s)
{
LinkList p=s;
LinkList q;
while(p->next->next!=s)
{
p=p->next;
}
q=p->next;
p->next=s;
free(q);

}
void show(LinkList &l)
{
LinkList r=l->next;
while(r!=l)
{
cout<data<<" ";
r=r->next;
}
cout<<endl;
}
void main()
{
LinkList l,s;
begin(l);
begin(s);
LinkList r=l;

int n,m;


cout<<"请输入数据个数"<<endl;
cin>>n;
Input(l,n);
cout<<"请输入要删除数据的后一个数据"<<endl;
cin>>m;
for(int i=0;i<n;i++){
    if(r->data!=m)
    {
        r=r->next;
    }
    s=r;


}
remove(l,s);
show(l);

}

1个回答

qq_21792169
qq_21792169   2016.03.10 10:30

这个属于算法与数据结构里面的,我这儿有一个算法与数据结构的代码,希望能够找你的答案。http://blog.csdn.net/qq_21792169/article/details/49303037

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!