首页 > 其他分享 >39-14

39-14

时间:2023-10-07 20:34:55浏览次数:30  
标签:LinkList 39 LNode next pb pa data 14

设A,B是两个带头结点的单链表,其中元素递增有序,设计一个算法从A和B中的公共元素产生单链表C,要求不破坏A,B的结点

不破坏A,B的结点,就是赋值操作,相当于重新创建了一个单链表

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

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

void TailCreate(LinkList &L)
{
    L=(LinkList)malloc(sizeof(LNode));
    L->next=NULL;
    LNode *p,*r=L;
    int x;
    scanf("%d",&x);
    while(x!=999)
    {
        p=(LNode*)malloc(sizeof(LNode));
        p->data=x;
        p->next=NULL;
        r->next=p;
        r=p;
        scanf("%d",&x);
    }
}

void displayList(LinkList L)
{
    LNode *p=L->next;
    while(p!=NULL)
    {
        printf("%d  ",p->data);
        p=p->next;
    }
}

void Merge(LinkList A,LinkList B)
{
    LinkList C=(LNode*)malloc(sizeof(LNode));
    C->next=NULL;
    LNode *pc=C;
    LNode *pa=A->next,*pb=B->next;
    while(pa && pb)
    {
        if(pa->data<pb->data)
            pa=pa->next;
        else if(pa->data>pb->data)
            pb=pb->next;
        else if(pa->data==pb->data)
        {
            LNode *node=(LNode*)malloc(sizeof(LNode));
            node->data=pa->data;
            node->next=NULL;
            pc->next=node;
            pc=node;
            pa=pa->next;
            pb=pb->next;
        }    
    }
    displayList(C);
}

int main()
{
    LinkList A,B;
    TailCreate(A);
    displayList(A);
    printf("\n");
    TailCreate(B);
    displayList(B);
    printf("\n");
    Merge(A,B);
    
    return 0;
}

 

标签:LinkList,39,LNode,next,pb,pa,data,14
From: https://www.cnblogs.com/simpleset/p/17747386.html

相关文章

  • 2023-2024学期 20231424 《计算机基础与程序设计》第2周学习总结
    2023-2024-120231424《计算机基础与程序设计》第2周学习总结作业信息这个作业属于哪个课程(2022-2023-1-计算机基础与程序设计)这个作业要求在哪里(2023-2024-1计算机基础与程序设计第2周作业)这个作业的目标自学《计算机科学概论》《C语言程序设计》第1章并完成云......
  • P3953 [NOIP2017 提高组] 逛公园
    Description策策同学特别喜欢逛公园。公园可以看成一张\(N\)个点\(M\)条边构成的有向图,且没有自环和重边。其中\(1\)号点是公园的入口,\(N\)号点是公园的出口,每条边有一个非负权值,代表策策经过这条边所要花的时间。策策每天都会去逛公园,他总是从\(1\)号点进去,从\(N\)......
  • 2023-2024-1 20231403 《计算机基础与程序设计》 第二周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(如2022-2023-1-计算机基础与程序设计)这个作业要求在哪里2023-2024-1计算机基础与程序设计第二周作业)这个作业的目标学习两本课本的第一章内容作业正文https://www.cnblogs.com/lsrmy/p/17747323.html教材学习内......
  • CF506D Mr. Kitayuta's Colorful Graph
    好久没更新这个单题系列了,主要是最近没啥CF比赛空闲时间又少,今天忙里偷闲写了两个题这个题就比较典了,两点是否连通一般都是想到并查集维护,现在的问题是要对每种颜色的边把贡献算清楚很容易想到枚举所有颜色的边,每次求出所有连通分量后遍历一遍询问统计答案,这样正确性显然但复杂......
  • 周赛 Round 14 2023.10.3
    内部比赛链接:周赛14A.修改序列modify考虑且最小值和最大值之差最多为\(1\),那么最终序列肯定呈均分状态。又因为最终序列总和不变,则可以算出均分状态下的每一个值。然后每个数\(A_i\)则变成距离它最近的最终序列值就行。B.表示法knuth模拟题,注意需要在除了前缀ten之......
  • 【关于运行程序时提示找不到mfc140.dll文件的解决办法】
    问题现象: 方法一:下载.dll修复工具使用修复工具对.dll文件进行修复。(下载麻烦,一般还要交钱,不建议) 方法二:Windows系统文件检查功能管理员权限打开命令提示符(Win+R,按下回车键进入CMD界面)输入"sfc/scannow",然后按下回车键扫描。扫描完成后,对电脑关机重启。(基本没什么用,可以试......
  • TypeError: Cannot read properties of undefined (reading '0')
    今天取请求返回值时报的一个错误,要取返回值中数组下标为零的数据,错误显示说未定义。检查之后发现要取的数据是请求返回的data中data,少嵌套了一层data导致数据为空报错。(返回数据的路径可以右键Copypropertypath,这样就不会错了)......
  • 【洛谷 P1739】表达式括号匹配 题解(栈)
    表达式括号匹配题目描述假设一个表达式有英文字母(小写)、运算符(+、-、*、/)和左右小(圆)括号构成,以@作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则输出YES;否则输出NO。表达式长度小于,左圆括号少于个。输入格式一行:表达式。输出格式一行:YES或NO......
  • 1475. 商品折扣后的最终价格
    链接https://leetcode.cn/problems/final-prices-with-a-special-discount-in-a-shop/description/思路:单调栈单调栈,顾名思义,就是在栈内,元素要么是单调递减的,要么是单调递增的。这个题目要求我们找下一个更小的元素,所以这个栈应当是递增的。(即栈顶元素最大)而我们要找......
  • 数据库 "test1007" 的 创建 失败。其他信息: 执行 Transact-SQL 语句或批处理时发生
    问题描述在我使用sqlServer登录名和密码验证登录时,出现了创建数据库错误的信息;问题解决只需要在使用Windows身份验证进行登录后,在服务器角色里面找到dbeavor,然后将我们的登录名添加进去,保存之后,重新启动;之后再使用sqlServer验证登录连接之后,就能够建立好数据库啦!......