链表有序合并C++(头插法)

2023-05-16

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

// 单链表的存储结构
typedef struct Node {
    int data;
    struct Node* next;
}Node,*LinkList;
/*
* Node,*LinkList 应用的时候的区别 
* Node: 使用的时候是 Node *
* *LinkList: 使用的时候是 LinkList
* 写的习惯:
*   LinkList: 用来定义函数,和函数参数,定义表或表的指针
*   Node*: 用来定义指针,和开辟空间
*/
 
// 初始化单链表
LinkList InitList () { // 要生成一个链表,注意写法
    LinkList L=(Node *) malloc (sizeof(Node));
    L->next = NULL;
    return L;

 
// 头插法
void creatList(LinkList L) {
    Node * s;
    int data;
    printf("请输入数字,输入-1代表该链表数据输入结束:");
    while(1) {
        scanf("%d",&data);
        if(data == -1) break;
        else {
            s = (Node *) malloc (sizeof(Node));
            s->data = data;
            s->next = L->next;
            L->next = s;
        }
    }
}
 


 // 打印链表
// void printList(Node * head) {
void printList(LinkList L) {
    Node * r;
    // r= head->next;
    r= L->next;
    while(r) {
        printf(" -> %d",r->data);
        r = r->next;
    }
    printf("\n");
}

int main() {
    
    LinkList LA;
    LinkList LB;
    LinkList LC;
    LA = InitList();    // 初始化单链表
    LB = InitList();
    LC = InitList();
    creatList(LA);        // 创建单链表
    creatList(LB);
    creatList(LC);
    printList(LA);      // 输出链表
    printList(LB);      // 输出链表
    printList(LC);      // 输出链表
    return 0;


}
    //有序合并
void MergeList_L(LinkList &LA,LinkList &LB,LinkList &LC){
        pa=LA->next;pb=LB->next;
        LC=LA;
        pc=LC;
        while(pa&&pb){
            if(pa->data <=pb->data){
            pc->next=pa;
                pc=pa;
                pa=pa->next;
            }
            else{
                pc->next=pb;
                pc=pb;
                pb=pb->next;
        }
        }
        pc->next=pa?pa:pb;
        delete LB;
    }
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

链表有序合并C++(头插法) 的相关文章

  • 【操作系统实验】Ubuntu Linux 虚拟机目录文件操作

    文章目录 目录的创建和删除创建目录删除目录 文件的创建和删除创建文件删除文件 复制目录 文件移动目录 文件 目录的创建和删除 创建目录 mkdir 命令 功能描述 xff1a mkdir命令用来创建指定名称的目录 要求创建目录的用户在当前目
  • mysql-8.0.30最新密码重置方法,看这一篇就够了

    博主自己多次忘记自己本地MySQL的密码 xff0c 多次 删库跑路 xff0c 现写下这篇技术贴 xff0c 一来是为后续网友们遇到相同问题可以少走弯路 xff0c 二来是给自己做一个备忘录 之前查阅了很多关于更改MySQL密码的方式是在
  • Centos7安装OpenStack Rocky版本和openstack基本使用

    文章目录 环境 xff1a 设置主机名验证配置域名和IP映射关闭防火墙和SeLinux时间同步配置OpenStack rocky的yum源文件安装centos release openstack rocky安装openstack客户端安装数
  • 详解%d、%%d、%%%d和\\%d的区别

    1 d xff0c 表示按整型输出后面给出的变量的值 2 d xff0c 这就会被拆成两部分看待 xff0c 一是 在C语言中就是输出一个 xff0c 而是 d 就是一个普通字符 xff0c 所以当 d 在一起时 xff0c 其含义就是输出
  • C语言数组小记1

    在一维数值里 xff1a xff08 假设a 0 的地址为2000 xff09 如 xff1a int a 61 10 9 8 7 6 5 xff1b printf xff08 d d d xff0c a xff0c a 0 xff0c a
  • C语言数组小记2

    示例 xff1a 在二维数组下行与列的问题 如 xff1a int a 3 3 61 9 8 7 6 5 4 3 2 1 假设我们a 0 0 的地址是2000 xff0c a 0 1 的地址是2004 xff0c 相差4个字节 printf
  • 正点stm32串口中断理解

    首先把程序放上来 xff0c 最后结论总结在最后 u8 USART RX BUF USART REC LEN u16 USART RX STA 61 0 void USART1 IRQHandler void 串口1中断服务程序 u8 Re
  • windows用xrdp方式远程桌面连接ubuntu

    windows系统 xff1a win10 ubuntu系统 xff1a 18 04 5 参考文章 xff1a https forum ubuntu org cn viewtopic php f 61 54 amp p 61 3221658
  • Linux中用vim编辑器打开时自动补入头文件,注释方法

    1 首先我用的是乌班头的linux xff0c 打开终端 2 通常我们打开终端的时候是直接在home目录下3 我们直接直接退到根目录下 xff0c 找到etc目录 4 输入sudo vi etc vim vimrc 其实熟练的也可以234步
  • HTTP中get、post、put、delete的区别

    今天开发遇到了 put请求 xff0c 顺便过来拔拔草 xff01 先说说最常用的get请求跟post请求的区别 xff1a GET请求 xff1a 一般是获取服务器资源 xff1b get请求的查询参数需要挂载请求地址中 xff1b 请求
  • ubuntu网络无法连接(桥接模式)

    ubuntu桥接模式网络无法连接 问题描述 问题描述 最近几天遇到了一个网络配置问题 xff0c 因为之前的虚拟机崩了 xff0c 我就跟换了ubuntu21 04版本 xff0c 创建虚拟机的时候就选了桥接模式 xff0c 虚拟网络编辑器
  • centos7安装Prometheus+Grafana步骤

    sentos7安装Prometheus 43 Grafana 环境部署规划表 服务端 监视器 Prometheus服务端 Grafana服务端CentOS 7 9grafana192 168 3 230客户端 被监控主机 CentOS 7
  • gitlab-ce安装

    gitlab ce安装 sentos 下载 wget http mirrors tuna tsinghua edu cn gitlab ce yum el7 gitlab ce 12 9 0 ce 0 el7 x86 64 rpm 2021
  • gitlab-runner升级

    gitlab runner版本升级 添加GitLab官方仓库 For Debian Ubuntu Mint curl L https packages gitlab com install repositories runner gitla
  • docker可视化工具Shipyard

    Docker Shipyard Shipyard简介 shipyard是一个开源的docker管理平台 xff0c 其特性主要包括 xff1a 支持节点动态集群 xff0c 可扩展节点的规模 xff08 swarm etcd方案 xff09
  • jira8安装

    Jira8 3 3安装 下载jira安装包 xff0c 破解包和jdk包 链接 xff1a https pan baidu com s 1yHsXkW1ZpkcNQeBkvE Hog 提取码 xff1a zzzz 安装数据库 网上很多就不在
  • goteleport10.0本地安装使用

    goteleport10 0本地安装使用 环境说明 master xff1a 192 168 8 132 node1 xff1a 192 168 8 131 node2 xff1a 192 168 8 133 master本地生成域名证书
  • [csp2019]Emiya家今天的饭

    作为提高组 d 2 t 1 d2t1 d 2 t 1 xff0c 比去年难 所以这道题我打的特别的差 32pts 这道题我们很显然可以看到可以打一个暴力 复杂度
  • React 函数组件导出自定义方法的办法说明

    在进行React开发时 xff0c 函数组件是比较方便的 xff0c 由于函数组件没有this指针 xff0c 因此如果想在父组件里调用函数型子组件的方法 xff0c 就需要用到React useImperativeHandle 这个帮助函
  • centos7防火墙关闭telnet端口不通

    root 64 zabbix agen2 systemctl status firewalld firewalld service firewalld dynamic firewall daemon Loaded loaded usr li

随机推荐

  • centos7安装配置夜莺V5+睿象云实现电话短信告警

    服务器清单 hostnameipmaster192 168 8 128zabbix agen1192 168 8 134 master安装夜莺依赖 install prometheus mkdir p opt prometheus wget
  • (踩坑指南)cd .ssh返回-bash: cd: .ssh:No such file or directory怎么办

    1 cd ssh返回 bash cd ssh No such file or directory怎么办 出现如下界面 有时候没必要在细节上过于拘泥 xff0c 不如直接配置秘钥 xff0c 反而一切都妥妥的了 2 如何保存退出 xff1f
  • Python数据处理工具—去除TXT文件里面相同的数据

    前言 本次分享的是一个对TXT数据进行处理的一个小工具 xff0c 功能如题 xff0c 是把TXT里面相同的数据给清洗掉是剩下唯一的一个 一 数据 随便在文件里面写了一点数据 xff0c 可以看到里面有很多重复的数据 xff0c 那么里面
  • Python进行ffmpeg推流和拉流rtsp、rtmp

    流媒体协议 xff0c 英文学名Streaming Protocol xff0c 用一句人话来解释 xff1a 流媒体协议是一种用于通过 Web 传递多媒体的协议 传统视频流协议 xff1a RTMP和RTSP xff0c 其中 RTMP
  • ROS Python 入门学习笔记--1--工作空间与功能包的创建

    上一节我们已经成功安装了ROS xff0c 并且还进行了小海龟实验的一个初步探索 xff0c 这一节主要给大家介绍一下ROS工作空间与功能包的创建 先来聊一下ROS的文件结构 xff1a 图片来源 xff1a 中国大学MOOC 在ROS当中
  • python运算符&用法的详细介绍

    目录 1 算数运算 2 比较运算符 3 成员运算符 4 逻辑运算 5 赋值运算 附 xff1a 类型转换 1 算数运算 运算符 xff1a 43 加 减 乘 除 整除 余数 幂运算 多用于整数 浮点数进行计算 43 也可用于字符串 xff0
  • 第三篇 树莓派的串口通信和语音识别模块

    目录 一 串口 xff08 UART xff09 二 wiringPi提供的串口API 三 语音识别模块 1 阅读模块代码 代码阅读工具 xff1a Souces Insight4 0安装 激活 汉化等 语音识别 xff08 口令模式 xf
  • 安装配置 JupyterLab ubuntu20.04

    目录 编辑 xff08 1 xff09 安装 xff08 2 xff09 配置 xff08 1 xff09 生成配置文件 xff08 2 xff09 生成jupyterlab的登录密码 xff08 3 xff09 修改 jupyter 的配
  • 笔记本安装双系统(win11+centos7)自己遇到坑的总结

    笔记本安装CentOS操作系统 当初在学习CentOS7的时候 就想在自己的笔记本上装一个CentOS7 装CentOS7和Windows双系统 xff0c 安装的过程中也查阅很多资料但是都不是很齐全 xff0c 我将自己安装的全过程总结出
  • 平衡树·splay

    文章目录 1 About splay2 基本操作2 1 数组是干啥的 xff1f 2 2 基本操作 3 splay3 1 rotate函数3 2 splay函数 4 更新操作4 1 插入函数4 2 删除函数 5 查询操作5 1 查询一个数的
  • 删除双系统中的Linux系统(总结以及恢复U盘原样)

    一丶如何删除双系统中的Linux系统 xff08 这里的双系统是win 43 Linux xff09 第一步 首先打开磁盘管理器 xff0c 将要删除的Linux系统的主分区右键点击删除 xff0c 删除后就可以关闭磁盘管理器 第二步 在电
  • centos7安装docker

    一丶先了解下 xff0c 什么是 Docker xff1f 为什么会有 Docker xff1f Docker 的优势 xff1f docker的组成 xff1f 1 为什么会有 Docker xff1f 我们知道一款产品从开发到上线 xf
  • python Anaconda3-下载方法

    一 Anaconda 下载方法 方法一 xff1a 官网下载 xff08 速度特别慢 xff09 下载过程没有技巧 xff0c 全程next xff0c 在路径 上有些小问题解决方法如下 下载Anaconda官网 xff1a https w
  • sinx、cscx、cosx、secx以及tanx、cotx图像详解

    今天在复习三角函数一章中对正切正割等图像感觉比较有意思 xff0c 仔细梳理了以下内容 xff1a sin xff1a sine cos xff1a cosine sec xff1a secant csc xff1a cosecant 首先
  • Debian配置ssh服务

    安装SSH xff0c 工作端口监听在192101 apt install y ssh vim etc ssh sshd config 修改port 192101 仅允许InsideCli客户端进行ssh访问 xff0c 其余所有主机的请求
  • Debian配置DHCP服务及DHCP中继

    Ispsrv服务器上 xff1a Apt install y isc dhcp server 安装完成后 修改dhcp监听网卡 Vim etc default isc dhcp server INTERFACEv4 61 39 要监听的网卡
  • Debian配置NFS文件共享服务

    apt install y nfs kernel server nfs common vim etc exports 添加一条共享文件配置 仅允许AppSrv主机访问该共享 webdata 192 168 100 100 rw sync n
  • Debian搭建Discuz论坛

    论坛服务需要在apache或nginx代理服务已经配置好的情况下搭建 搭建LAMP架构 在前面已经搭建了apache 这里直接安装php apt install y php 安装完成后重启apache systemctl restart a
  • Debian配置ISCSI

    添加一块10G硬盘 apt install y targetcli fb lvm2 使用新增加的硬盘创建卷组 xff0c 名称为iscsivg xff0c 再创建iSCSI共享逻辑卷 xff0c 逻辑卷名称为iscsistore xff0c
  • 链表有序合并C++(头插法)

    include lt stdio h gt include lt stdlib h gt 单链表的存储结构 typedef struct Node int data struct Node next Node LinkList Node L