ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

我想用链表写可是得不到输出结果程序就终止了,希望可以得到指导!

2022-03-19 19:03:43  阅读:165  来源: 互联网

标签:p2 LinkList p1 p3 得不到 next 链表 L1 终止


swust oj 941
题目描述
已知两非递减的顺序线性表,要求合并成一个新的非递减顺序线性表。(测试数据为整型)

输入
输出
样例输入
样例输出

include

using namespace std;
typedef struct LNode{
int data;
struct LNode next;
}LNode,
LinkList;
void InitList(LinkList &L,int n)//尾插法创建单链表的函数,赋值我测试过了没问题,数值确实存在了链表里面
{
LinkList r=L;
for(int i=0;i<n;i++)
{
LinkList p=new LNode;
cin>>p->data;
p->next=NULL;
r->next=p;
r=p;
}
}
void AddList(LinkList &L1,LinkList &L2)//合并两个单链表的函数
{
LinkList p4=new LNode;
LinkList p1,p2,p3,r;//r为当p1->datap2->data时,因为我们只把p1连接到p3,所以用r保存p2,并在p2往下走之后释放原p2空间
p1=L1->next;
p2=L2->next;
p3=L1;
p4=L1;
while(L1&&L2)
{
if(p1->datadata)
{
p3->next=p1;
p3=p1;
p1=p1->next;
}
else if(p1->data
p2->data)
{
p3->next=p1;
p3=p1;
p1=p1->next;
r=p2;
p2=p2->next;
delete r;
}
else
{
p3->next=p2;
p3=p2;
p2=p2->next;
}
}
p3->next=p1?p1:p2;
delete L2;
for(p4;p4;p4=p4->next)//输出合并了的链表
{
cout<data<<" ";
}
cout<<endl;
}
int main()
{
int n,m;
LinkList L1=new LNode;
LinkList L2=new LNode;
L1->next=NULL;
L2->next=NULL;
cin>>n;
InitList(L1,n);
cin>>m;
InitList(L2,m);
AddList(L1,L2);
return 0;
}
问题是没有输出结果,把两组测试数据输入后按回车直接就不给输出结果,但是程序终止运行了。不管能不能得到解答,我都感谢每一位划过的人。

标签:p2,LinkList,p1,p3,得不到,next,链表,L1,终止
来源: https://www.cnblogs.com/ditui123/p/16027487.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有