m0_63853120 2022-09-30 21:01 采纳率: 66.7%
浏览 27
已结题

两个有序列表合并少一个数



```c



#include <stdlib.h>

typedef int DataType ;

typedef struct LNODE

{

  DataType data;/*data数据项用于存放结点的数据值*/

  struct LNODE *next; /*next数据项存放下一个结点的指针*/



}LNODE;



LNODE* initl()

{

    LNODE *head;

    head=(LNODE*)malloc(sizeof(LNODE));    /*为头结点申请空间*/

     if(head!=NULL) /*将头结点的指针域初始化为NULL*/

         head->next=NULL;

    return (head);

 }

LNODE* creatL1()/*建立一个头为head的带头结点的单链表*/

{

    LNODE *head,*p,*s;

    DataType x;

    head=initl();               /*链表初始化*/

    p=head;

    scanf("%d",&x);

    while(x!=-1)

    {

        s=(LNODE*)malloc(sizeof(LNODE));  /*申请新结点空间*/

        s->data=x;      /*给新结点的数据域赋值*/

        s->next=NULL;   /*将新结点的指针域初始化为空*/

        p->next=s;      /*将新结点链接到表尾*/

        p=s;            /*新结点成为新链表的尾结点*/

        scanf("%d",&x);

  }

  return head;

}

 void output(LNODE *head)  /*输出节点数据*/

 {

     LNODE *p;

     p=head->next;

     while(p!=NULL)

     {

         printf("%d ",p->data);

         p=p->next;

     }

 }

 /*以下函数完成升序合并两上单链表*/

void Ascendingmerge(LNODE *head1,LNODE *head2,LNODE *head3)

{LNODE *p;
LNODE *q;
LNODE *k;
k=head3;
p=head1->next;
q=head2->next;

while(p!=NULL&&q!=NULL)
{
    if(p->data<q->data)
    {k->next=p;
     p=p->next;
    }
    else
    {
        k->next=q;
        q=q->next;
    }
    k=k->next;
}
if(p!=NULL)
{   k->next=p;

}
if(q!=NULL)
{
    k->next=q;

}




k->next=NULL;


 }



int main()

{

    LNODE *head1,*head2,*head3;
    head3=(LNODE*)malloc(sizeof(LNODE));
    head3->next=NULL;

    head1=creatL1();

    head2=creatL1();

    Ascendingmerge(head1,head2,head3);

        printf("合并后的数据为:\n");

        output(head3);

    return 0;

}
  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-09-30 21:33
    关注

    void Ascendingmerge(LNODE *head1,LNODE *head2,LNODE *head3) 函数里,第129行:k->next=NULL; 这句多余,删除即可。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月9日
  • 已采纳回答 10月1日
  • 创建了问题 9月30日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度