6-3 逆序数据建立链表(20 分)_头插法建链表

2023-11-12

6-3 逆序数据建立链表(20 分)
本题要求实现一个函数,按输入数据的逆序建立一个链表。

函数接口定义:

struct ListNode *createlist();
函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据的逆序建立一个链表,并返回链表头指针。链表节点结构定义如下:

struct ListNode {
int data;
struct ListNode *next;
};
裁判测试程序样例:

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

struct ListNode {
    int data;
    struct ListNode *next;
};

struct ListNode *createlist();

int main()
{
    struct ListNode *p, *head = NULL;

    head = createlist();
    for ( p = head; p != NULL; p = p->next )
        printf("%d ", p->data);
    printf("\n");

    return 0;
}

/* 你的代码将被嵌在这里 */
输入样例:

1 2 3 4 5 6 7 -11
输出样例:

7 6 5 4 3 2 1

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

struct ListNode {
    int data;
    struct ListNode *next;
};

struct ListNode *createlist()
{
    struct ListNode *head = NULL, *now = NULL;
    int a;
    while (1)
    {
        scanf("%d", &a);
        if (a == -1)return head;
        now = (struct ListNode*)malloc(sizeof(struct ListNode));
        now->data = a;
        now->next = head;
        head = now;
    }
}

int main()
{
    struct ListNode *p, *head = NULL;

    head = createlist();
    for (p = head; p != NULL; p = p->next)
        printf("%d ", p->data);
    printf("\n");

    return 0;
}

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

6-3 逆序数据建立链表(20 分)_头插法建链表 的相关文章

  • Java语言通过三种方法来实现队列

    队列 关于作者 作者介绍 博客主页 作者主页 简介 JAVA领域优质创作者 一名在校大三学生 在校期间参加各种省赛 国赛 斩获一系列荣誉 关注我 关注我学习资料 文档下载统统都有 每日定时更新文章 励志做一名JAVA资深程序猿 文章目录 队
  • ConcurrentHashMap 常见面试题详解

    ConcurrentHashMap 1 ConcurrentHashMap的数据结构 数组 链表 采用了分段锁的实现机制 2 ConcurrentHashMap初始化 首先会创建segment数组 长度为默认 16 或传入的并发值的大于等于
  • 数据结构之链表与线性表

    数据结构之链表与线性表 线性表 顺序线性表 顺序表 顺序线性表 使用数组实现 一组地址连续的存储单元 数组大小有两种方式指定 一是静态分配 二是动态扩展 优点 随机访问特性 查找O 1 时间 存储密度高 逻辑上相邻的元素 物理上也相邻 缺点
  • 华为OD机试 - 解密犯罪时间(Java)

    题目描述 警察在侦破一个案件时 得到了线人给出的可能犯罪时间 形如 HH MM 表示的时刻 根据警察和线人的约定 为了隐蔽 该时间是修改过的 解密规则为 利用当前出现过的数字 构造下一个距离当前时间最近的时刻 则该时间为可能的犯罪时间 每个
  • 6-2 单链表结点删除(20 分)_单链表的删除节点的两种方式——还是双指针和链表覆盖好用

    6 2 单链表结点删除 20 分 本题要求实现两个函数 分别将读入的数据存储为单链表 将链表中所有存储了某给定值的结点删除 链表结点定义如下 struct ListNode int data ListNode next 函数接口定义 str
  • 4--一元多项式的乘法与加法运算

    个人题解 include
  • 数据结构--二叉树的二叉链表实现

    1 二叉树的二叉链表示意图 二叉链表的每个结点由三个域组成 数据域 左指针域和右指针域 左右指针分别用来保存左右孩子结点的存储地址 2 二叉链表实现二叉树 2 1 头文件及其定义 BTNode h pragma once typedef c
  • leetcode-合并两个有序链表(详解)

    合并两个有序链表 前言 一 题链接 题意 题思路 题思路图解 题代码 总结 前言 路漫漫及修远兮 一 题链接 题意 将两个升序链表合并为一个新的 升序 链表并返回 新链表是通过拼接给定的两个链表的所有节点组成的 输入 l1 1 2 4 l2
  • 讲解+可执行完整代码 C++单链表(2)查找、插入、删除元素

    目录 一 查找元素 代码部分 核心代码 完整代码 二 插入元素 核心思路 代码部分 核心代码 完整代码 编辑 三 删除元素 核心思路 代码部分 核心代码 完整代码 一 查找元素 此段代码仅实现查找元素的功能 代码部分 核心代码 node l
  • 如何学好C语言的数据结构与算法?

    C语言的数据结构与算法 难就难在链表 学会了链表 可能后面就一点都不难了 书籍推荐 数据结构与算法分析 C语言描述版 要深入学习的话可以选择这本书 因为针对链表的讲解是比较详细的 所以可以很快理解链表 跟着书上一点点实现基本操作 增删改查
  • C语言单向循环链表的建立

    1 头文件 include
  • 双向链表详解

    目录 一 双向链表的概念及结构 二 双向链表的方法及其实现 2 1 双向链表 2 2 addFirst int data 头插法 2 3 addLast int data 尾插法 2 4 size 链表长度 2 5 display 打印链表
  • 【C++】STL中list容器内部元素的移动和交换

    文章目录 前言 一 list是什么 二 元素移动 1 插入 删除 2 切除 拼接 三 元素交换 1 元素值交换 2 元素 节点 交换 总结 前言 提示 list insert list erase list splice std iter
  • 链表【2】

    文章目录 24 两两交换链表中的节点 题目 算法原理 代码实现 143 重排链表
  • 算法题-简单系列-05-两个链表的第一个公共结点

    文章目录 1 题目 1 1 思路1 循环遍历 1 题目 输入两个无环的单向链表 找出它们的第一个公共结点 如果没有公共节点则返回空 1 1 思路1 循环遍历 使用两个指针N1 N2 一个从链表1的头节点开始遍历 我们记为N1 一个从链表2的
  • 算法题-简单系列-01-链表反转

    文章目录 1 题目 1 1 使用栈解决 1 2 反转链表 1 题目 给定一个单链表的头结点pHead 该头节点是有值的 比如在下图 它的val是1 长度为n 反转该链表后 返回新链表的表头 如当输入链表 1 2 3 时 经反转后 原链表变为
  • 剑指 Offer(第2版)面试题 35:复杂链表的复制

    剑指 Offer 第2版 面试题 35 复杂链表的复制 剑指 Offer 第2版 面试题 35 复杂链表的复制 解法1 模拟 剑指 Offer 第2版 面试题 35 复杂链表的复制 题目来源 48 复杂链表的复刻 解法1 模拟 算法 复制原
  • 带头双向循环链表基础

    带头双向循环链表基础 销毁 销毁 void ListDestory ListNode phead void ListDestory ListNode phead assert phead ListNode cur phead gt next
  • 链表的中间节点

    链表的中间节点 力扣 LeetCode 官网 全球极客挚爱的技术成长平台 备战技术面试 力扣提供海量技术面试资源 帮助你高效提升编程技能 轻松拿下世界 IT 名企 Dream Offer https leetcode cn problems
  • 顺序表和链表基础

    定义动态的顺序表 typedef int SLDataType typedef struct Seqlist SLDataType array size t size size t capacity Seqlist 在顺序表中插入数据 bo

随机推荐

  • 2023年电子设计大赛E题——省一设计报告

    2023 年全国大学生电子设计竞赛 运动目标控制与自动追踪系统 E 题 本科组 设计报告 目录 一 系统方案 4 一 主控模块的论证与选择 4 1 方案一 4 2 方案二 5 3 总结 5 二 巡线模块的论证与选择 5 1 方案一 5 2
  • 大数据工程师面试经验

    全中国的IT公司只想去阿里 因为阿里真的是中国程序员的朝圣地 进去真的能学很多 最终经历了5轮面试 顺利拿到了offer 这里和大家分享一下我的面试经验 一面过程 首先是一次不记名面试 这里我也真的很感谢这场不记名面试了 如果没有这场不记名
  • C++类的拷贝(复制)构造函数深入理解

    目录 一 拷贝构造函数的基本了解和使用 二 拷贝构造函数的一些注意事项 三 拷贝构造函数的调用时机 使用一个对象 直接构造 显式构造 或 初始化 隐式构造 另一个同类对象 关于拷贝构造函数与赋值函数的区别与联系 作为函数的形式参数时 作为函
  • 路由器网口1一直闪烁正常吗_路由器灯怎么闪才正常

    在我们日常生活当中 很多人家里都会安装各种各样的路由器 有的人家中安装的路由器是穿墙路由器 无论是安装的哪种路由器都有可能出现一些故障 今天小编就来跟大家说一说路由器灯怎么闪才正常 希望可以给大家带来帮助 感兴趣的朋友们可以跟随小编一起来了
  • vue3+ts动态写后台管理系统左边的菜单栏

    1 在路由router文件里面写路由元信息传递左侧显示的路由 以及路由的名字 const routes Array
  • Pandas知识点-索引和切片操作

    Pandas知识点 索引和切片操作 索引和切片操作是最基本最常用的数据处理操作 Pandas中的索引和切片操作基于Python的语言特性 支持类似于numpy中的操作 也可以使用行标签 列标签以及行标签与列标签的组合来进行索引和切片操作 本
  • Golang架构直通车——理解defer

    文章目录 defer应用 defer触发时机 defer执行顺序 预计算参数 defer实现原理 defer应用 Go 语言的 defer会在当前函数或者方法返回之前执行传入的函数 它会经常被用于关闭文件描述符 关闭数据库连接以及解锁资源
  • Ubuntu使用splint查找C代码的BUG

    1 安装splint sudo apt get install splint 2 测试代码main c如下 include
  • sEnginScriptError Component is not found in path "components/..."

    小程序开发报错 sEnginScriptError Component is not found in path components cesh using by pages playlist playlist onAppRoute Err
  • 更换JDK版本不生效的问题解决方案

    1 首先检查环境变量是否修改完成 环境变量配置 PATH JAVA HOME bin JAVA HOME C Program Files Java jdk1 8 1 131 选择自己电脑上JDK的安装路径 2 输入 javac 检查JDK是
  • 力扣1342. 将数字变成 0 的操作次数(java+python)

    给你一个非负整数 num 请你返回将它变成 0 所需要的步数 如果当前数字是偶数 你需要把它除以 2 否则 减去 1 示例 1 输入 num 14 输出 6 解释 步骤 1 14 是偶数 除以 2 得到 7 步骤 2 7 是奇数 减 1 得
  • java Field.canAccess 和 Field.isAccessible

    如果 Field isAccessible 已经过时 则使用 Field canAccess 官方Api boolean Field canAccess Object obj Object obj an instance object of
  • Invalid character found in the request target.The valid characters are defined in RFC 7230 and RFC39

    背景 在将tomcat升级到7 0 81版后 发现系统的有些功能不能使用了 查询日志发现是有些地址直接被tomcat认为存在不合法字符 返回HTTP 400错误响应 错入信息如下 原因分析 经了解 这个问题是高版本tomcat中的新特性 就
  • Intellij IDEA 2019无法联网,无法下载插件问题解决办法

    Intellij IDEA 2019无法联网 无法下载插件问题解决办法 非法不多说直接上图 第一步 第二步 2019 2 之后没有这一步 第三步 记得重启哦 lt 完 gt
  • 代理服务器列表(20100116)

    经测试 今天发布的代理服务器全部都是免费可用的 211 152 11 30 80 69 119 28 234 8085 72 196 11 73 8085 222 66 116 110 8080 41 223 143 16 8080 122
  • 5.1劳动节,Happy May Day!(为什么要调休啊?)

    国际劳动节又称 五一国际劳动节 国际示威游行日 英语 International Workers Day May Day 是世界上80多个国家的全国性节日 定在每年的五月一日 它是全世界劳动人民共同拥有的节日 1889年7月 由恩格斯领导的
  • Unity中的宏定义

    有时候我们需要使用区分不同平台来实现不同的逻辑 这个时候就用到宏定义了 基本语法 if UNITY EDITOR WIN UNITY STANDALONE elif UNITY ANDROID else endif 宏定义可以直接写在类中
  • 基于STM32的正点原子LORA模块通信网络

    LoRa是semtech公司开发的一种低功耗局域网无线标准 其名称 LoRa 是远距离无线电 Long Range Radio 它最大特点就是在同样的功耗条件下比其他无线方式传播的距离更远 实现了低功耗和远距离的统一 它在同样的功耗下比传统
  • 解决“yarn : 无法加载文件 C:\Users\quber\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本”问题

    我们在使用yarn命令的时候 可能会出现如下图所示的错误 出现此错误的原因是本地计算机上运行你编写的未签名脚本和来自其他用户的签名脚本 可以使用如下命令将计算机上的执行策略更改为RemoteSigned 执行命令set ExecutionP
  • 6-3 逆序数据建立链表(20 分)_头插法建链表

    6 3 逆序数据建立链表 20 分 本题要求实现一个函数 按输入数据的逆序建立一个链表 函数接口定义 struct ListNode createlist 函数createlist利用scanf从输入中获取一系列正整数 当读到 1时表示输入