当前位置: 首页 > article >正文

浙大数据结构:02-线性结构1 两个有序链表序列的合并

数据结构MOOC

PTA习题

02-线性结构1 两个有序链表序列的合并

用p1,p2存储两个头节点。如果都为空直接返回一个空链表

否则选两条链表中第一个较小的值作为新链表第一个结点。

L1,L2后移一下,然后删除两个没有用的头节点

循环遍历,把值小的插入链表中,直到一个链表遍历完。

再把没遍历完的链表插入新链表中,最后返回头节点

List Merge(List L1,List L2)
{
      List p1=L1,p2=L2;
List head=(List)malloc(sizeof(struct Node));
    if(p1->Next==NULL&&p2->Next==NULL)
    {
  head->Next=NULL;return head;
    }
    head->Next=L1->Next->Data>L2->Next->Data?L2->Next:L1->Next;
    List p=head;
     L1=L1->Next;L2=L2->Next;
     p1->Next=NULL;p2->Next=NULL;
    while(L1!=NULL&&L2!=NULL)
    {
     if(L1->Data<L2->Data)
     {
       head->Next=L1;
         head=head->Next;
         L1=L1->Next;
     }
        else 
        {
            head->Next=L2;
            head=head->Next;
            L2=L2->Next;
        }
    }
    if(L1)
    head->Next=L1;
    else if(L2)
        head->Next=L2;
    return p;
}


http://www.kler.cn/a/294797.html

相关文章:

  • spring cloud 入门笔记1(RestTemplate,Consul)
  • 力扣 LeetCode 977. 有序数组的平方(Day1:数组)
  • 基于Python的膳食健康系统
  • android studio 配置过程
  • 华为路由器DHCP配置
  • <项目代码>YOLOv8 苹果腐烂识别<目标检测>
  • [数据集][目标检测]西红柿成熟度检测数据集VOC+YOLO格式3241张5类别
  • 网络协议-SSH
  • Linux 上如何做MySQL数据备份
  • K近邻法(K-nearest neighbor,K-NN)—有监督学习方法、非概率模型、判别模型、线性模型、参数化模型、批量学习、核方法
  • ffmpeg音视频开发从入门到精通——ffmpeg 视频数据抽取
  • 【C++STL(十四)】一个哈希桶简单模拟实现unordered_map/set
  • 基于微信小程序在线订餐系统
  • 什么是串口服务器?
  • dwg、dxf文件多行文字转单行文字
  • NLP自然语言处理之文本分类项目实战TextCNN
  • LabVIEW中Request Deallocation 功能
  • 前端项目运行汇总
  • Kafka【十三】消费者消费消息的偏移量
  • 【Spring Boot】 SpringBoot自动装配-Condition
  • MySQL数据库的SQL注入漏洞解析
  • SpringDataJPA系列(7)Jackson注解在实体中应用
  • Python爬虫:通过js逆向获取某瓜视频的下载链接
  • OpenGL(二)-更详细版的三角形
  • Java项目——苍穹外卖(一)
  • TypeScript系列 :接口interfaces