c++单向链表应用讲座.pptVIP

  • 1
  • 0
  • 约1.81千字
  • 约 9页
  • 2022-09-20 发布于福建
  • 举报
—高级软件人才实作培训专家! 单向链表应用讲座 链表概念、基本操作 概念、分类、链表编程元素分析、编程关键点 创建、遍历、添加、删除、销毁 动手,链表基本操作实 项目中链表开发技能 传统链表的思考 企业级财富库之通用链表库设计与实现 目标 少走弯路 提高项目经验 前言 概念 结构体 两个域,data域和指针域 引用自身的结构体 特点:非顺序存储 分类 带头链表 不带头链表 本节以带头链,进行讲解 结点的组织形式 单向链表、双向链表、循环链表等 静态链表 动态链表 少用(原因) 常用 一般的链表概念、基本操作01 图 链表编程元素分析 头结点、当前结点、前趋结点、后继结点 pHead、pCurrent、pPrior、pNext 新建结点 pMalloc 链表编程关键点 2点 1、指针指向谁,就把谁的地址赋给指针 Code=Diagram 条件反射 2、辅助指针变量操作逻辑的关系 看图说话 链表概念、基本操作02 链表概念、基本操作03 01建立带有头结点的单向链表 编写函数SList_Creat,建立带有头结点的单向链表。循环创建结点,结点数据域中的数值从键盘输入,以-1作为输入结束标志。链表的头结点地址由函数值返回。 02顺序访问链表中各结点的数据域 编写函数SList_Print,顺序输出单向链表各项结点数据域中的内容。 链表概念、基本操作04 03在单向链表中插入节点 编写函数SList_NodeInsert,功能:在值为x的结点前,插入值为y的结点;若值为x的结点不存在,则插在表尾。 04删除单向链表中的结点 编写函数SList_NodeDel,删除值为x的结点。 为什么静态链表很少用 内存四区 程序的内存分析图 编写有资源申请函数技巧,内存泄露 一个入口,一个出口 打桩、野指针 被调用函数返回资源地址占用了错误码 返回资源的2种方法 1)return 2)指针做函数参数 二级指针的典型用法 1)输入:主调函数分配内存 2)输出:被调用函数分配 项目中链表开发技能 传统链表缺点 和具体结构绑定,不通用 链表逻辑试图包含业务逻辑(业务数据) 业务数据和链表逻辑耦合性太高 非传统链表 业务逻辑结构,包含链表结构 通用链表 业务逻辑结构,包含链表结构 传统链表的思考 * 链表是一种物理存储单元上非连续的存储结构,由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成,节点与节点之间通过指针链接。每个结点包括两个部分:一部分是存储数据元素的数据域,另一部分是存储下一个结点地址的指针域。 * 链表是一种物理存储单元上非连续的存储结构,由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成,节点与节点之间通过指针链接。每个结点包括两个部分:一部分是存储数据元素的数据域,另一部分是存储下一个结点地址的指针域。 1 链表是一种常用的数据结构,它通过指针将一些列数据结点,连接成一个数据链。相对于数组,链表具有更好的动态性。 2 数据域用来存储数据,指针域用于建立与下一个结点的联系。 3 建立链表时无需预先知道数据总量的,可以随机的分配空间,可以高效的在链表中的任意位置实时插入或删除数据。 4 链表的开销,主要是访问顺序性和组织链的空间损失。 * * * * —高级软件人才实作培训专家! * 链表是一种物理存储单元上非连续的存储结构,由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成,节点与节点之间通过指针链接。每个结点包括两个部分:一部分是存储数据元素的数据域,另一部分是存储下一个结点地址的指针域。 * 链表是一种物理存储单元上非连续的存储结构,由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成,节点与节点之间通过指针链接。每个结点包括两个部分:一部分是存储数据元素的数据域,另一部分是存储下一个结点地址的指针域。 1 链表是一种常用的数据结构,它通过指针将一些列数据结点,连接成一个数据链。相对于数组,链表具有更好的动态性。 2 数据域用来存储数据,指针域用于建立与下一个结点的联系。 3 建立链表时无需预先知道数据总量的,可以随机的分配空间,可以高效的在链表中的任意位置实时插入或删除数据。 4 链表的开销,主要是访问顺序性和组织链的空间损失。 * * * *

文档评论(0)

1亿VIP精品文档

相关文档