回 帖 发 新 帖 刷新版面

主题:数据结构初学

#include <iostream>
using namespace std;
typedef struct node{
int data;
struct node *next;
}Lnode,*Linklist;
Linklist  init(Linklist A);
Linklist combine(Linklist A,Linklist B);
int main()
{Linklist l1,l2,l3;
l1=init(l1);
l2=init(l2);
l3=combine(l1,l2);
while(l3->next)
{l3=l3->next;
cout<<l3->data;
}
cout<<endl;
delete l1;
delete l2;
delete l3;
return 0;
}

Linklist  init(Linklist A)
{Lnode *s;
s=A;
    int i,num;
cout<<"enter the number:\n";
cin>>num;
for(i=0;i<num;i++)
{s=s->next;
cin>>s->data;
return A;
}
}
Linklist combine(Linklist A,Linklist B)
{Linklist C;
Lnode *pa,*pb,*rc;
C=A;
rc=C;
pa=A->next;
pb=B->next;
delete B;
while(pa&&pb)
{if(pa->data<pb->data)
{rc->next=pa;
rc=pa;
pa=pa->next;
}
else
{ rc->next=pb;
rc=pb;
pb=pb->next;
}
if(pa)
rc->next=pa;
else
rc->next=pb;
return C;
}
}
我想初始化2个递增的单链表,并把它们合并成一个递增的单链表,哪里出错了?

回复列表 (共4个回复)

沙发

输入数据?
期望结果?
实际结果?

自己的调试结果?
怀疑哪儿有问题?

还有:标题要醒目:)

板凳

额,我的意愿是,你把我的代码复制运行一下,就发现错误了,它说什么内存错误。。。不好描述,所以运行不了,可不可以帮我看看??:)谢谢啦

3 楼

這樣正好,你可以順便學習調試程序:)
把程序運行起來,出錯時應該會在一個地方暫停,然后你就可以在那兒附近看看代碼邏輯有沒有問題,或是他相關的代碼有沒有問題:)

4 楼

内存错误的话……一般是使用了野指针吧……debug吧~~

我来回复

您尚未登录,请登录后再回复。点此登录或注册