MergeList

C语言写的合并链表——CreateMergeList C语言写的合并链表,进创新实验室机试的题目哦 立即下载

对应写的是严蔚敏P21算法2.2,是把2个非递减的线性表(顺序表和链表)进行合并,和归并排序不同。

#include<iostream>
#include<malloc.h>
using namespace std;
typedef  struct Node{
    int value;
    struct Node *next;
} Node;


Node* CreateLinklist(int len){
    Node* ahead=(Node*)malloc(sizeof(Node));
    ahead->next=NULL;
    Node* l=ahead;
    for(int i=0;i<len;i++){
        Node* p=(Node*)malloc(sizeof(Node));
        cin>>p->value;
        p->next=NULL;
        l->next=p;
        l=l->next;
    }
    return ahead;
}
//采用链表
Node* MergeLinkList(Node* ahead,Node* bhead){
    Node* head=(Node*)malloc(sizeof(Node));
    Node* r=head;
    head->next=NULL;
    Node* p=NULL;
    Node* q=NULL;
    if(ahead->next!=NULL)
        p=ahead->next;
    else{
        return bhead;
    }


    if(bhead->next!=NULL)
       q=bhead->next;
    else
        return ahead;


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


    while(p!=NULL){
        r->next=p;
        r=r->next;
        p=p->next;
    }


    while(q!=NULL){
        r->next=q;
        r=r->next;
        q=q->next;
    }


    return head;
}
//采用数组
int* MergeList(int a[],int alen,int b[],int blen){
    int* t=(int*)malloc(sizeof(int)*(alen+blen));
    int* flag=t;
    int* r=t;
    int i=0,j=0;
    while( i<alen&& j<blen){
        if(a[i]<b[j]){
            *r=a[i];
            r++;
            i++;
        }
        else{
            *r=b[j];
            r++;
            j++;


        }
    }
    while(i<alen){
       *r=a[i];
        r++;
        i++;
    }
    while(j<blen){
        *r=b[j];
        r++;
        j++;


    }




    return flag;
}


int main(){
    //顺序表
    int a[]={1,3,5,7,9};
    int b[]={2,4,6,8};
    int alen=sizeof(a)/sizeof(a[0]);
    int blen=sizeof(b)/sizeof(b[0]);
    int *t=MergeList(a,alen,b,blen);
    int m=0;
    while(m<alen+blen){
        cout<<*t<<endl;
        t++;
        m++;
    }
    //链表
    //创建链表A
    cout<<"LinkList A:";
    Node* ahead=CreateLinklist(5);
    //创建链表B
    cout<<"LinkList B:";
    Node* bhead=CreateLinklist(4);
    //得到归并后的链表并遍历
    Node* head=MergeLinkList(ahead,bhead);
    Node* p=head;
    if(p->next!=NULL)
        p=p->next;
    else
        return 0;
    while(p!=NULL){
        cout<<p->value<<endl;
        p=p->next;
    }
    return 0;
}


STM32 Modbus-RTU从零到实战:手把手教你用HAL库实现工业通信(附完整代码) 本文详细介绍了如何使用STM32 HAL库从零开始实现Modbus-RTU从机通信。内容涵盖RS485硬件设计、CubeMX串口与定时器配置、基于空闲中断的高效数据接收、协议栈状态机设计、CRC16校验实现以及常用功能码处理。文章提供了完整的代码框架和调试方法,帮助开发者快速构建稳定的工业通信节点。 阅读详情

相关推荐

深入解析BLheli电调固件与Dshot通讯协议:从原理到实践

本文深入解析了无人机动力系统的核心——BLheli电调固件与Dshot通讯协议。详细阐述了BLheli固件从经典版到BLheli_32的演进及其功能特性,并重点剖析了Dshot数字协议如何通过数据包和校验码实现更快、更准、更可靠的电机控制。文章还涵盖了双向Dshot遥测、实战配置与调参指南,帮助玩家充分释放无人机性能。

weixin_28273593的博客 433

数据结构 线性表的两种合并方式Union() MergeList()

首先是定义一个叫student的结构体 有num和next 一个整型变量  一个指针typedef struct student { //定义结构体 int num; student *next; }student,*stu; ...

weixin_40212554的博客 1万+

SAP数据导入工具(LSMW) 超级详细教程(批量导入内部订单)

用户提了个需求,让我批量导入内部订单几百个内部订单。我本打算用写段ABAP 代码来调用 BAPI (BAPI_INTERNALORDER_CREATE)就可以了。但想到我很久没有用过LSMW 了,都快要忘记了。于是我采用LSMW的方式,完成了任务。并把过程记录下来,形成教程方便我以后回头查看,分享出来也希望对大家有帮助。

IT小职员 2万+

合并线性表(MergeList)

实验要求:已知两个非递减有序的线性表La和Lb,将La和Lb合并成一个线性表Lc,Lc也非递减有序。 分析:  这个题目不难,思路就是建立两个有序线性表,然后初始化另一个表Lc,用两个指针指向La,Lb的表头,开始比较,然后赋值给Lc,代码如下:  #include                                                     

Qucooln的专栏 7441

逆向实战:TikTok X-Gorgon算法解析与Unidg补环境技巧

本文详细解析了TikTok X-Gorgon算法的逆向工程全流程,包括参数定位、变种RC4算法还原及Unidbg补环境技巧。通过动态调试与静态分析相结合,揭示了X-Gorgon的生成逻辑和加密细节,为移动安全研究提供了实用指南。

weixin_28568819的博客 692

告别QXDM:在Android Studio中调试与验证高通NV读写功能的完整流程

本文详细介绍了在Android Studio中调试与验证高通NV分区读写功能的完整流程,替代传统的QXDM工具。通过JNI接口层、HAL服务层和Diag通信层的架构设计,开发者可以在熟悉的IDE环境中高效完成NV操作,包括环境配置、错误处理和性能优化等关键实践。

weixin_27013291的博客 258

【无标题】合并两个有序链表

合并两个有序链表

帝都搬砖客 683

2026最新openclaw(clawbot/moltbot)真正在自己个人电脑上搭建部署,配置飞书远程远程让AI助理操控电脑完成任务,以及结合ollama无限token实现7*24小时工作(附配置)

2026最新openclaw(clawbot/moltbot)真正在自己个人电脑上搭建部署,配置飞书远程远程让AI助理操控电脑完成任务,以及结合 ollama 无限token实现7*24小时工作,以及部署安装需要的 skills 完成复杂的工作任务(附完整可以运行的配置文件)。 很多人已经会配置安装 openclaw 了 ,但是 安装完成之后真正让电脑自动运行起来的很好,完成出色工作的更少,最常见的就是聊聊天,或者执行一些简单的命令,理解要让电脑自动化工作,openclaw、skills、大模型这三样。

代码讲故事 2961

207MergeList

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33967071的博客 111

YOLOv13改进策略【特征提取层】| CVPR-2024 PKI Module 获取多尺度纹理特征,适应尺度变化大的目标

PKI Module是。

Limiiiing的博客 275

2025华为od机试真题B卷【字符串计数匹配】Java&Go 实现

给你一个字符串str和整数k,返回满足以下条件的所有子字符串个数: 1.恰好包含k个字母。 2.数字0-9各出现至少一次。

MISAYAONE的博客 636

mergelist

<br />procedure TfmPubClient.AddList(Source, Dest: TList);<br />var<br />  a1count_old: Integer;<br />begin<br />  a1count_old :=  Dest.Count;<br />  Dest.Count := Dest.Count + Source.count;<br />  System.Move(Source.list^[0], Dest.list^[a1count_old], Sour

刘永锋的专栏 826

一文入门车载以太网:从原理到实战,看完就能上手开发

新手选型遵循“适配场景、兼顾成本、优先车规”的原则:普通场景(车载娱乐、普通诊断):100Base-T1 PHY(LAN8742)+ 非TSN交换机(SJA1105)+ STM32H743 ECU + 普通STP线缆;ADAS场景:1000Base-T1 PHY(TJA1101)+ TSN交换机(SJA1110)+ NXP S32G399 ECU + 高抗干扰STP线缆;避免过度选型:如普通娱乐场景无需选择TSN交换机、ASIL-B级芯片,否则会增加成本;

getusushu的博客 316

208MergeList

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34352449的博客 185

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

线性表的顺序表示和实现:MergeList

//已知线性表La和Lb中的数据元素按值非递减排列 //归并La和Lb得到新的线性表Lc,Lc的数据元素也按值非递减排列 void MergeList(SqList La,SqList Lb,SqList *Lc){ InitList(Lc); int alen=La.length; int blen=Lb.length; int i=1,j=1,k=0; ...

lzdelphi的专栏 1297

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

将两个有序顺序表合并为一个新的有序顺序表MergeList_Sq

将两个有序顺序表合并为一个新的有序顺序表,输出合并后的顺序表的所有数据元素; #include<stdio.h> #include<stdlib.h> #define LIST_INIT_SIZE 100 #define LISTINCREMENT 20 typedef struct { int *elem; int length; int listsize; }SqList; bool InitList_Sq(SqList &L); void PrintElem_

z_x_y_zxy的博客 5238

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Fix the Problem with MergeList

I've had this error on numerous occassions this year (2014). After reading the reply and guessing at the action needed to fix it - stabbing at buttons in desperation - it's been fixed - I think. In

swuteresa的专栏 1256

Linux:Problem with MergeList /var/lib/apt/lists

ubuntu安装软件包sudo apt-get install xxx时,终端报错:正在读取软件包列表... 有错误! E: Encountered a section with no Package: header E: Problem with MergeList /var/lib/apt/lists/cn.archive.ubuntu.com_ubuntu_dists_trusty_restr

编码即修行 3821

E:Encountered a section with no Package: header, E:Problem with MergeList /var/lib/apt/lists/cn.arch

当我在使用ubuntu输入命令:sudo apt-get install build-essential 时,出现了如下错误: E:Encountered a section with no Package: header, E:Problem with MergeList /var/lib/apt/lists/cn.archive.ubuntu.com_ubuntu_dists_natty

kbwzy的专栏 761

Ubuntu故障处理:Problem with Mergelist

问题描述忽然之间发现apt-get命令不能用了,出现了下面的错误,搜索一通已解决 解决方法删除lists目录即可$sudo rm /var/lib/apt/lists -vfR

Focus 372

sqlist int MergeList(SqList La, SqList Lb, SqList &Lc)

【代码】sqlist int MergeList(SqList La, SqList Lb, SqList &Lc)

laocooon的博客 305

Linux报错:Problem with MergeList /var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_xenial-security_m

sudo apt-get install openssh-server Linux报错:Problem with MergeList /var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_xenial-security_main_binary-amd64_Packages hadoop@ubuntu:...

weixin_45725946的博客 624

在ubuntu上遇到的一个错误Problem with MergeList /var/lib/dpkg/status

误提示如下所示: [plain] view plain copy 命中:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial InRelease 获取:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial-security InRelease [102 kB] 已下载 102 kB,耗时 5秒 (18.4 kB/s)

dztdztdzt的专栏 683

链表之单链表的合并

合并两个链表,顾名思义至少得有两个链表,比如说:链表1:0->2->4->7->9->over  ; 链表2:9->3->5->8->over,要想合并这两个链表我们需要注意哪些问题呢? 我们至少需要考虑以下几个问题: (1)对于其中有一个链表为空这种问题还是比较好处理得,直接返回不为空的那个链表就可以了; (2)如果两个链表均不为空,合并时我们该如何处理呢?最简单的一种解决办法是:  

qq_29503203的博客 459
上一篇: 复杂链表的复制
下一篇: PyTorch 60 分钟入门教程中的一些疑惑
PMPWDF
博客等级 码龄10年 44粉丝 118原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值