童第森 2021-10-08 22:07 采纳率: 40%
浏览 20

合并两个循环单链表出错

#include <stdio.h>
#include <stdlib.h>

typedef int Elemtype;
typedef struct C
{
    Elemtype data;
    struct C *next;
} CNode, *CLink;
CLink Connect(CLink a, CLink b)
{
    CLink p = a->next;
    a->next = b->next->next;
    free(b->next);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
    b->next = p;
    return b;
}

void Display(CLink L)
{
    CLink p = L->next;
    while (p != L)
    {
        printf("%d ", p->data);
        p = p->next;
    }
    printf("\n");
}

CLink RCreate(int n)
{
    CLink L = (CLink)malloc(sizeof(CNode));
    // L->data = 0;
    L->next = NULL;
    CLink r = L; //创建尾结点
    for (int i = 0; i < n; i++)
    {
        CLink p = (CLink)malloc(sizeof(CNode));
        scanf("%d", &p->data);
        //p->next = NULL;
        r->next = p; //将新结点链接到表尾
        r = p;       //循环过程中r始终指向链表的尾结点
    }
    r->next = L;
    return L;
}

int main()
{
    CLink a = RCreate(4);
    Display(a);
    Display(a);
    CLink b = RCreate(3);
    Display(b);
    CLink c = Connect(a, b);
    Display(c);
    Display(b);

    return 0;
}

没有悬赏没人答吗?也不是不想充,一次充值100学生党承受不起啊

  • 写回答

1条回答 默认 最新

  • 人工智障开发码农 2021-10-09 11:24
    关注

    能说一下你的编程思想吗?或者说出的错,我才好改,毕竟光看代码不好理解你出现的错误

    评论

报告相同问题?

问题事件

  • 创建了问题 10月8日

悬赏问题

  • ¥15 echarts动画效果失效的问题。官网下载的例子。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加