代钦宸 2021-08-22 15:33 采纳率: 100%
浏览 34
已结题

A链表和B链表的合成操作

有两个序列表A和B,A中存放1.3.5.7.9,B中存放2.4.6.8.10 要求将两个链表合成1-10。怎么以代码形式提现

  • 写回答

2条回答 默认 最新

  • threecat.up 2021-08-22 15:39
    关注

    #include
    #include<stdio.h>
    #include<string.h>
    #include
    using namespace std;
    typedef struct Lnode
    {
    int data;
    Lnode *next;
    } Lnode,*linklist;
    void creat_back(linklist &a)
    {
    int n,tmp;
    linklist p,q;
    a=(linklist)malloc(sizeof(Lnode));
    a->next=NULL;
    p=a;
    scanf("%d",&n);
    for (int i=0; i<n; i++)
    {
    scanf("%d",&tmp);
    q=(linklist)malloc(sizeof(Lnode));
    q->data=tmp;
    q->next=NULL;
    p->next=q;
    p=q;
    }
    }
    void print(linklist a)
    {
    linklist p=a->next;
    while(p!=NULL)
    {
    printf("%d ",p->data);
    p=p->next;
    }
    printf("\n");
    }
    void merge_ab(linklist aa,linklist bb,linklist &c)
    {
    linklist a=aa->next,b=bb->next;
    linklist p,q;
    c=(linklist)malloc(sizeof(Lnode));
    c->next=NULL;
    p=c;
    while(a!=NULL && b!=NULL)
    {
    printf("%d %d\n",a->data,b->data);
    if (a->data < b->data)
    {
    q=(linklist)malloc(sizeof(Lnode));
    q->data=a->data;
    q->next=NULL;
    p->next=q;
    p=q;
    a=a->next;
    }
    else
    {
    q=(linklist)malloc(sizeof(Lnode));
    q->data=b->data;
    q->next=NULL;
    p->next=q;
    p=q;
    b=b->next;
    }
    }
    while(a!=NULL)
    {
    q=(linklist)malloc(sizeof(Lnode));
    q->data=a->data;
    q->next=NULL;
    p->next=q;
    p=q;
    a=a->next;
    }
    while(b!=NULL)
    {
    q=(linklist)malloc(sizeof(Lnode));
    q->data=a->data;
    q->next=NULL;
    p->next=q;
    p=q;
    b=b->next;
    }
    }
    int main()
    {
    linklist a,b,c;
    creat_back(a);
    print(a);
    creat_back(b);
    print(b);
    merge_ab(a,b,c);
    printf("zz");
    print(c);
    return 0;
    }
    输入链表,即可合并

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月30日
  • 已采纳回答 8月22日
  • 创建了问题 8月22日

悬赏问题

  • ¥15 关于无人驾驶的航向角
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退