17-链表

2023-11-11

链表:一系列结构连在一起,每一个结构体变量里面都有一个指针pNext,pNext指向下一个结构体变量,尾节点的pNext指向NULL

 

静态链表:

 

   struct students stu1 = { 1, "a", NULL };

struct students stu2 = { 2, "b", NULL };

struct students stu3 = { 3, "c", NULL };

stu3.pNext = &stu2;

stu2.pNext = &stu1;

 

动态内存分配:

Malloc()

void *malloc(unsigned int size)  

这个函数在内存中动态开辟一块内存,unsigned int size决定内存的大小,void *空指针可以强制转换为任何类型的指针。

这个函数返回一个指针,这个指针就是开辟的内存地址。

pHead = (struct students*)malloc(sizeof(struct students));

 

 

free();

void free(void *ptr)

free:释放内存。

free(pHead);

 

1、怎样来创建一个链表。

创建一块内存:

struct students *pHead = NULL; //头指针

struct students *pEnd = NULL;  //尾指针  

 

pHead = (struct students *)malloc(sizeof(struct students)); //开辟头结点

 

printf("请输入一个学生的学号和姓名:\n");

scanf("%d%s", &pHead->number, pHead->name);

pHead->pNext = NULL;

 

printf("%d\n", pHead->number);

 

转载于:https://www.cnblogs.com/tiantiancode/p/11131806.html

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

17-链表 的相关文章

  • 以OpenGL/ES视角介绍gfx-hal(Vulkan) Shader/Program接口使用

    文档列表见 Rust 移动端跨平台复杂图形渲染项目开发系列总结 目录 背景 The right way to tackle this in Vulkan is to use resource descriptors A descriptor
  • 数据结构中常见的树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B-树、B+树、B*树)

    原文 http blog csdn net sup heaven article details 39313731 数据结构中常见的树 BST二叉搜索树 AVL平衡二叉树 RBT红黑树 B 树 B 树 B 树 转载 2014年09月16日
  • netty handler的执行顺序(3)

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 今天解决2个问题 1 handler在pipeline当中究竟是如何存储的 2 在遍历handler的过程中 会根据event的不同 调用不同的handler 这一点是如何
  • 微软2013暑假实习生笔试题

    自己mark一下 以作后备 下面提交原文链接 原文博客 部分题目答案不确定 会持续更新 1 Which of the following calling convention s support s supportvariable leng
  • DDP入门

    DDP 即动态动态规划 可以用于解决一类带修改的DP问题 我们从一个比较简单的东西入手 最大子段和 带修改的最大子段和其实是常规问题了 经典的解决方法是用线段树维护从左 右开始的最大子段和和区间最大子段和 然后进行合并 现在我们换一种方法来
  • 递归算法中的时间复杂度分析

    对于一种算法的时间复杂度分析还是特别重要的 在一些非递归算法中 我们仅仅看运算次数最多的那一行代码可能执行多少次就可以 实际就是看在循环中变量的变化 但是对于递归算法中该怎么分析呢 下面介绍几种递归函数中的算法时间复杂度分析的方法 0 递推
  • Hash映射理解

    先说数组 数组优点之一 能通过索引很快定位到值 hashmap 就是利用了数组这个优点 对比 线性映射 定义一个数组 数组的元素是结构体 结构体包括 一对键 值 伪代码表示 a 0 struct Bill 5 a 1 struct KK 6
  • 算法系列15天速成——第八天 线性表【下】

    一 线性表的简单回顾 上一篇跟大家聊过 线性表 顺序存储 通过实验 大家也知道 如果我每次向 顺序表的头部插入元素 都会引起痉挛 效率比较低下 第二点我们用顺序存储时 容 易受到长度的限制 反之就会造成空间资源的浪费 二 链表 对于顺序表存
  • 数据结构与算法书籍推荐

    学习数据结构与算法 还是很有必要看几本相关的书籍 但根据不同基础的人 合适看的书也不一样 因此 针对不同层次 不同语言的人 推荐几本市面上口碑不错的书 1 入门级 针对刚入门的同学 建议不要急着去看那些经典书 像 算法导论 算法 这些比较经
  • 以太坊系列之十五: 以太坊数据库

    以太坊数据库中都存了什么 以太坊使用的数据库是一个NOSQL数据库 是谷歌提供的开源数据leveldb 这里尝试通过分析以太坊数据库存储了什么来分析以太坊可能为我们提供哪些关于区块链的API 存储内容 NOSQL是一个key value数据
  • UE4命令行使用,解释

    命令行在外部 从命令行运行编辑项目 1 导航到您的 LauncherInstall VersionNumber Engine Binaries Win64 目录中 2 右键单击上 UE4Editor exe 的可执行文件 并选择创建快捷方式
  • 字符串09--表示数值的字符串

    字符串09 表示数值的字符串 jz53 题目概述 解析 参考答案 注意事项 说明 题目概述 算法说明 请实现一个函数用来判断字符串是否表示数值 包括整数和小数 例如 字符串 100 5e2 123 3 1416 和 1E 16 都表示数值
  • 链表面试题(一):反转链表的算法实现

    关于链表的考察 链表是面试里面经常涉及到的考点 因为链表的结构相比于Hashmap Hashtable Concurrenthashmap或者图等数据结构简单许多 对于后者更多面试的侧重点在于其底层实现 比如Hashmap中Entry
  • JavaScript系列——数组元素左右移动N位算法实现

    引言 在自己刚刚毕业不久的时候 去了一家公司面试 面试官现场考了我这道题 我记忆深刻 当时没有想到思路 毫无疑问被面试官当成菜鸟了 最近刚好在研究数组的各种算法实现 就想到这道题 可以拿来实现一下 纪念自己逝去的青春 需求 假设有这样一个数
  • 图 - Java实现无向带权图的邻接矩阵表示法

    图 Java实现无向带权图的邻接矩阵表示法 1 图 1 1 图的介绍 图 Graph 是一种复杂的非线性表结构 图中的元素我们就叫做顶点 vertex 图中的一个顶点可以与任意其他顶点建立连接关系 我们把这种建立的关系叫做边 edge 跟顶
  • Linux 内核中的 Device Mapper 机制

    Linux 内核中的 Device Mapper 机制 尹 洋 在读博士生 尹洋 中科院计算所国家高性能计算机工程技术研究中心的在读博士生 主要从事服务部署和存储资源管理以及Linux块设备一级的开发和研究工作 简介 本文结合具体代码对 L
  • 机器学习算法GBDT的面试要点总结-上篇

    1 简介 gbdt全称梯度提升决策树 在传统机器学习算法里面是对真实分布拟合的最好的几种算法之一 在前几年深度学习还没有大行其道之前 gbdt在各种竞赛是大放异彩 原因大概有几个 一是效果确实挺不错 二是即可以用于分类也可以用于回归 三是可
  • 索引优化之Explain 及慢查询日志

    索引 本质是数据结构 简单理解为 排好序的快速查找数据结构 以索引文件的形式存储在磁盘中 目的 提高数据查询的效率 优化查询性能 就像书的目录一样 优势 提高检索效率 降低IO成本 排好序的表 降低CPU的消耗劣势 索引实际也是一张表 该表
  • 用两个栈实现队列

    目录 一 栈的基本结构及其接口 二 我的队列结构定义 三 我的队列创建及其初始化 四 我的队列入队 五 我的队列出队 六 我的队列取队头元素 七 我的队列判空 八 我的队列销毁 一 栈的基本结构及其接口 栈的结构定义 typedef int
  • 【数据结构】双链表的定义和操作

    目录 1 双链表的定义 2 双链表的创建和初始化 3 双链表的插入节点操作 4 双链表的删除节点操作 5 双链表的查找节点操作 6 双链表的更新节点操作 7 完整代码 嗨 我是 Filotimo 很高兴与大家相识 希望我的博客能对你有所帮助

随机推荐

  • html 实现音乐的波形,如何在html5中绘制音频流的波形?

    我的代码 if this remoteStream null if this wavesurfer null var parent this this wavesurfer Object create WaveSurfer this wav
  • 基于Qt的OpenGL编程(3.x以上GLSL可编程管线版)---(十)基础光照

    这章内容简要说明Phone式光照模型中的环境光照 ambient 漫反射 diffuse 镜面反射 specular 如何在OpenGL中的世界实现 Vries的原教程地址如下 https learnopengl cn github io
  • 【51单片机】数码管的使用

    需要云服务器等云产品来学习Linux的同学可以移步 gt 腾讯云 lt gt 阿里云 lt gt 华为云 lt 官网 轻量型云服务器低至112元 年 新用户首次下单享超低折扣 目录 一 数码管的类型
  • 22届硕士,去年秋招拿了字节跳动offer,有一说一,不是很难进

    自从抖音短视频APP火了之后 起公司字节跳动也逐渐向着大厂靠拢 相信大家都已经对这家公司很熟悉了 尤其是近几年来 对它的认识也在不断刷新 它惊人的发展速度确实让行业内人刮目相看 如今很多年轻人也想要挤进字节跳动 它越来越火热 字节可能不算难
  • Vue中使用GOJS绘制拓扑图(项目实践)

    1 首先下载GOJS npm install gojs save 2 Vue中使用 import gojs from gojs var go gojs var go GraphObject make 代码所需要的JSON格式 import
  • 前端实现vue element ui 勾选的表格数据导出

    安装依赖 npm install save xlsx file saver npm install D script loader 在src文件夹中新建文件夹 命名为excel 新建文件夹后 在utils文件夹内新建两个js文件 分别命名为
  • 华为交换机MPU、LPU硬件信息解释

    此文章是从 小侠唐在飞 老师那儿转载的 感谢老师 名词解释 MPU就是主控板LPU是业务板 业务线卡区域 包括6个业务线卡槽位 分布在SLOT1到SLOT6槽位 槽位间距1 4英寸 主控板区域 包括主备两个槽位 分布在SLOT7和SLOT8
  • 网络:IP基础知识总结

    IP的基本认识 IP在TCP IP参考模型中处于第三层 也就是网络层 网络层的主要作用是 实现主机和主机之间的通信 也叫做点对点通信 问 网络层与运输层的关系 网络层 IP 提供点到点的服务 运输层 TCP UDP 提供端到端的服务 问 网
  • VS中使用动态库

    VS中使用动态库 一 将DLL头文件添加到包含路径 属性 gt C C gt 常规 gt 附加包含目录 二 将DLL导入库添加到项目中 1 添加附加库目录 属性 gt 链接器 gt 常规 gt 附加库目录 2 添加附加依赖项 这一步骤 也可
  • 解决 Centos7 启动tomcat 但是外部不能访问的问题

    Step1 启动tomcat 进入 tomcat 所在的目录的 bin 的文件夹下执行 startup sh 命令 启动 tomcat 如果出现下面这种情况说明 tomcat 启动 成功 Step2 验证 tomcat 是否启动成功 输入
  • Request_获取请求参数通用方式演示

  • 射频功率放大器PA芯片选型

    一 功率放大器选型 下图示例一个PA的核心参数 从频率失真和非线性失真两个方面基本可以上述参数的含义及其作用 如频率范围 功率平坦度 S21等主要和频率失真有关 即不同频率信号所表现的增益和相位差值 以及该PA的适用频段 而输出功率 输出功
  • Outlier Detection for Improved Data Quality and Diversity in Dialog Systems-学习笔记

    Outlier Detection for Improved Data Quality and Diversity in Dialog Systems 论文按如下方式检测数据集中的异常值 1 生成每个实例的矢量表示 2 平均向量以获得均值表
  • Android下实现字符串或文件的MD5加密

    MD5 信息摘要算法简单介绍 MD5 Message Digest Algorithm 一种被广泛使用的密码散列函数 可以产生出一个128位 16字节 的散列值 hash value 用于确保信息传输完整一致 计算出来的MD5值是有可能重复
  • CVE-2023-33246 Apache RocketMQ 命令注入漏洞复现及分析

    CVE 2023 33246 Apache RocketMQ 命令注入漏洞复现及分析 0x0 威胁情报 漏洞编号 CVE编号 CVE 2023 33246 漏洞评估 危害评级 高危 漏洞类型 RCE 公开程度 PoC已公开 利用条件 1 在
  • 【数据结构与算法】3.(单向、无向、带权)图,广度、深度优先搜索,贪心算法

    文章目录 1 图简介 2 图的存储方式 2 1 邻接矩阵存储方法 2 2 邻接表存储方法 3 有向 无向图和查询算法 3 1 数据结构 3 2 广度优先算法BFS 3 3 深度优先算法DFS 3 3 1 DFS查询单条路径 3 3 2 DF
  • PhotoShop 之盖印图层

    Ctrl Shift Alt E 生成盖印图层 盖印图层实现的结果和合并图层差不多 也就是把图层合并在一起生成一个新的图层 和合并图层所不同的是 盖印图层是生成新的图层 而被合并的图层依然存在 保持其它图层完好无损
  • reverse ez_xor writeup

    拿到ez xor exe附件直接丢进PE 可以看到是64位exe文件 丢进ida64 Shift F12查看字符串 如果是笔记本电脑的话 F12自带热键 先按Fn 即Fn Shift F12 一般在这里找有没有和flag相关的字符串 可以看
  • SecureCRT软件安装

    首先从官网下载SecureCRT官网地址 https www vandyke com cgi bin releases php product securecrt 也可以从百度网盘下载 下载完毕后正常安装SecureCRT 注意选择安装路径
  • 17-链表

    链表 一系列结构连在一起 每一个结构体变量里面都有一个指针pNext pNext指向下一个结构体变量 尾节点的pNext指向NULL 静态链表 struct students stu1 1 a NULL struct students st