zoukankan      html  css  js  c++  java
  • 带头结点的两个链表La,Lb,将两个链表合并到La中,并且不破坏Lb的结构

    #include<stdio.h>
    #include<malloc.h>

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

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

    void Visit(LinkList L)
    {
    LinkList p;
    p=L->next;
    while(p)
    {
    printf("%d ",p->data);
    p=p->next;
    }
    }

    void MergeList(LinkList &La,LinkList &Lb,LinkList &Lc)
    {
    LinkList pa=La->next;
    LinkList pb=Lb->next;
    LinkList pc=La;
    Lc=La;
    int a[100];
    int i=0;
    int j;
    LinkList f=Lb->next;
    while(f)
    {
    a[i]=f->data;
    f=f->next;
    i++;
    }
    while(pa && pb)
    {
    if(pa->data < pb->data)
    {
    pc->next=pa;
    pc=pa;
    pa=pa->next;
    }
    else if(pa->data > pb->data)
    {
    pc->next=pb;
    pc=pb;
    pb=pb->next;
    }
    else
    {
    pc->next=pa;
    pc=pa;
    pa=pa->next;
    pb=pb->next;
    }
    }
    pc->next=pa?pa:pb;
    free(Lb);
    Lb=(LinkList)malloc(sizeof(LNode));
    Lb->next=NULL;
    LinkList r=Lb;
    LinkList p;
    for(j=0;j<i;j++)
    {
    p=(LinkList)malloc(sizeof(LNode));
    p->data=a[j];
    r->next=p;
    r=p;
    }
    r->next=NULL;
    }

    int main()
    {
    LinkList a;
    LinkList p;

    CreateList(p,3);
    // Visit(p);
    // printf(" ");

    LinkList q;
    CreateList(q,3);
    // Visit(q);
    // printf(" ");

    MergeList(p,q,a);
    Visit(p);
    printf(" ");
    Visit(q);
    printf(" ");
    // Visit(a);
    // printf(" ");
    return 0;
    }

    运行结果

  • 相关阅读:
    fadeIn()与fadeOut()方法
    js常用正则表达式(经典)
    正则表达式大全
    slideDown()和slideUp()方法
    toggle()显示/隐藏的用法
    skip-grant-tables 修改linux的mysql忘记root密码
    基于Vue、web3的以太坊项目开发及交易内幕初探 错误解决总结
    MySQL linux错误处理
    求职 firekylin
    如何编写一个可升级的智能合约
  • 原文地址:https://www.cnblogs.com/Dearmyh/p/9976365.html
Copyright © 2011-2022 走看看