en该呢 2023-02-13 18:54 采纳率: 100%
浏览 18
已结题

数据结构中两个单链表合并失败

####问题发生背景:数据结构中两个单链表合并失败
####错误信息:LinkList pa=LA->next;


#define MAXSIZE 12
#define OVERFLOW -2
#define OK 1
#define ERROR 0

typedef int Status;


typedef struct
{
    int example;
}ElemType;

typedef struct LNode
{
    struct LNode *next;
    ElemType data;
}LNode,*LinkList;

int main()
{
void CreateList_R(LinkList L,int n);
void MergeList_L(LinkList LA,LinkList LB,LinkList LC);

LinkList LA,LB,LC;
printf("请输入集合A中元素:\n");
CreateList_R(LA,2);
printf("请输入集合B中元素:\n");    
CreateList_R(LB,3);
MergeList_L(LA,LB,LC);
LinkList p=LC->next;
printf("%d",p->data);

} 


void MergeList_L(LinkList LA,LinkList LB,LinkList LC)
{
    LinkList pa=LA->next;
    LinkList pb=LB->next;
    LC=LA;
    LinkList pc=LC;
    
    while(pa&&pb)
    {
        if((pa->data).example<=(pb->data).example)
        {
            pc->next=pa;
            pc=pa;
            pa=pa->next;
        }
        else
        {
            pc->next=pb;
            pc=pb;
            pb=pb->next;
            
        }
    }
    pc->next=pa?pb:pb;
    free(LB);
}

void CreateList_R(LinkList L,int n)
{
    L=(LinkList)malloc(sizeof(LNode));
    L->next=NULL;
    LinkList r=L;
    int i;
    for(i=0;i<n;i++)
    {
        LinkList s=(LinkList)malloc(sizeof(LNode));
        scanf("%d",&(s->data));
        s->next=NULL;
        r->next=s;
        r=s;        
    }
}

```c
    

####详细报错:Program recevied signal SIGSEGV.Segementation fault;。
####尝试方法:通过调试得到报错语句后上网查阅报错信息。但无法理解指针为什么不能被赋值给已经开辟的空间。



###希望各位掌握相关知识的友友不吝赐教
  • 写回答

4条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-02-13 20:15
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月25日
  • 已采纳回答 2月17日
  • 创建了问题 2月13日

悬赏问题

  • ¥15 有偿请人帮写个安卓系统下禁止装软件及禁止拷入文件的程序
  • ¥100 用 H.265 对音视频硬编码 (CUDA)
  • ¥20 mpich安装完成后出问题
  • ¥15 multisim仿真
  • ¥15 stm32循迹小车代码问题
  • ¥15 输入一堆单词,使其去重输出
  • ¥15 qc代码,修改和添加东西
  • ¥50 Unity的粒子系统使用shadergraph(内置管线)制作的一个顶点偏移shader,但是粒子模型移动时,顶点也会偏移
  • ¥15 如何用python处理excel的数据(极值标准化)
  • ¥15 三向应力状态求剪应力