文章

28

粉丝

82

获赞

5

访问

17.7k

头像
链表合并 题解:
P1025 贵州大学2019机试
发布于2024年3月10日 21:03
阅读数 601

求助,哪里写的有问题啊,为啥运行出来结果不对

#include<stdio.h>
#include<stdlib.h>
int main()
{
    typedef struct LNode
    {
        int data;
        struct LNode *next;
    }LNode;

    int s1,s2,n1,n2;
    int i;
    LNode *head1,*head2,*tail1,*tail2,*p,*q;

    head1=(LNode *)malloc(sizeof(LNode));
    head1->next=NULL;
    tail1=head1;

    head2=(LNode *)malloc(sizeof(LNode));
    head2->next=NULL;
    tail2=head2;

    scanf("%d",&s1);//第一个链表
    for(i=0;i<s1;i++)
    {
        scanf("%d",&n1);
        p=(LNode *)malloc(sizeof(LNode));
        p->d...

登录查看完整内容


登录后发布评论

4 条评论
snake VIP
2024年3月10日 21:26

创建链表的时候注意把next赋值为NULL

p->next=NULL;

q->next=NULL;

赞(0)

promising : 回复 snake: 置空了还是不对 输入数据 5 1 2 2 3 3 4 1 2 3 4 你的输出 3 3 2 2 1 正确输出 1 1 2 2 2 3 3 3 4

2024年3月10日 21:58

snake : 回复 promising: 你的链表合并逻辑问题很大,这个题目要求从小达到排序,合并的时候还需要比较大小,可以参考一下这个同学的:https://noobdream.com/post/373048/

2024年3月10日 22:20

promising : 回复 snake: 好的,谢谢

2024年3月11日 15:15