幸运的菇凉 2016-03-09 07:35 采纳率: 75%
浏览 5516

在长度大于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条回答

  • HeroKern 博客专家认证 2016-03-10 02:30
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog