数据结构笔记-----链表
静态链表
逻辑结构
静态链表是在顺序表的基础上利用数组实现的单链表,无指针
静态链表是柔性数组的一种典型的应用
创建可复用静态链表
小结
为什么静态链表的结构体中要再定义一个header成员,而不直接用node[0]?
header是逻辑上的一个链表上的头,而node[0]是一个list里所有链表节点在存储结构上的第一个,链表并不要求存储空间上的连续,也不一定要从node[0]开始,这样定义的话,如果以后有需求比如每个链表元素从第二个node[1]开始作为头,那么只需要修改链表内部逻辑,把header和node[1]关联就可以了,外部对链表进行使用的地方,依然可以用header来获取链表的头节点,而不需要一一修改。
循环链表
改写单链表
修正:
插入函数需添加
以防插入头结点时不停重复插入,需让尾结点指向头结点
删除函数在删除首元素时才需要遍历,为了效率问题做如下改变
删除函数需添加条件sList->length>0
约瑟夫问题(应用)
答案在main.c
小结
双向链表
这里做如下改正
应该是指向头结点时,pre才是NULL
见代码
小结
一次遍历单向链表找到中间节点
转载于:https://www.cnblogs.com/Zyf2016/p/6337840.html
数据结构笔记-----链表相关推荐
- Python数据结构学习笔记——链表:无序链表和有序链表
目录 一.链表 二.无序链表 实现步骤分析 三.无序链表的Python实现代码 四.有序链表 实现步骤分析 五.有序链表的Python实现代码 结语 一.链表 链表中每一个元素都由为两部分构成:一是该 ...
- 18、数据结构笔记之十八链表实现稀疏矩阵
18.数据结构笔记之十八链表实现稀疏矩阵 "必须如蜜蜂一样,采过许多花,才能酿出蜜来." 上篇中实现了栈在多项式实现中的例子,再来看下稀疏矩阵通过链表方式实现. 关键字:十字链表存 ...
- 【单向链表】数据结构——单向链表的介绍与代码实现笔记
从今天开始将修炼数据结构专栏,将持续更新,分模块学习. 数据结构--单向链表 一.数据结构 1.什么是数据结构? 2.逻辑结构和物理结构 二.链表--线性结构 1.首先介绍下链表和数组的区别 2.链表 ...
- 数据结构笔记--线性表定义与实现(Swift)
数据结构笔记系列 数据结构笔记-两个有序链表合并成一个有序链表 线性表 线性表是最常用且最简单的一种数据结构,简言之,一个线性表是 n 个数据元素的有序序列. 特点 只有一个首结点和尾结点: 除首 ...
- 数据结构笔记(王道考研) 第八章:排序
大部分内容基于中国大学MOOC的2021考研数据结构课程所做的笔记,该课属于付费课程(不过盗版网盘资源也不难找...).后续又根据23年考研的大纲对内容做了一些调整,将二叉排序树和平衡二叉树的内容挪到 ...
- 数据结构笔记(王道考研) 第五章:树和二叉树
大部分内容基于中国大学MOOC的2021考研数据结构课程所做的笔记,该课属于付费课程(不过盗版网盘资源也不难找...).后续又根据23年考研的大纲对内容做了一些调整,将二叉排序树和平衡二叉树的内容挪到 ...
- 二、考研数据结构笔记——绪论(理解数据结构,算法,时间复杂度计算做题技巧)
一.数据结构基本概念 1.数据:数据是信息的载体.客观事物的一种表现形式.万事万物都能用数据表示出来. 2.数据元素:数据元素是数据的基本单位,一个数据元素有若干个数据项组成 3.数据项:构成数据元素 ...
- 大话数据结构笔记-图
大话数据结构笔记-图 定义 图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为 G(V,E), 其中 G表示一个图, V是图G中的顶点的集合, E是图G中边的集合. 顶点就是图中 ...
- 一、考研数据结构笔记——引言及目录
一.关于我理解的数据结构 1. 引言 本人自2021年3月准备考研,考研主要是为了提升学历,本科院校不是理想.迫切需要提高学历. 写这刊博客,主要是总结我考研路上对数据结构的一些理解,以及为了方便我后 ...
- 数据结构之链表(java语言实现)
链表的底层储存结构: 相对于数组这一需要连续.足够大空间的数据结构,链表只需要利用"指针"将一组零碎的空间(在链表中称之为节点)串联起来,这样就可以避免在创建数组时一次性申请过大的 ...
最新文章
- Maven简单的配置Junit测试及使用简单的mock
- JQuery判断数组中是否包含某个元素$.inArray(js, arr);
- MySQL · 引擎特性 · InnoDB 事务子系统介绍
- python游戏循环设置_Pygame:游戏循环前的初始菜单
- Linux系统基础命令详细总结,不定期更新,建议收藏
- Python告诉你NBA球星都喜欢在哪个位置出手?
- 毁人不倦 - 许嵩 - 苏格拉没有底
- 关于检测Windows电脑电池信息
- 什么是抽象类和抽象方法,以及他们的特点
- Seaweedfs基本操作
- ratingbar 的使用
- 如何在idea中配置JSTL
- RK3326 8.1系统定制化通用修改
- 离散系统频响特性函数freqz()
- Mybatis generator自动生成mybatis配置和类信息
- 使用FME实现PGDB转CAD并赋eed属性
- 840D sl(QT)使用ocx外部控件
- 浅谈艺工结合——自然科学和艺术美学的链接融合
- ES 常用查询命令汇总
- python内置函数open_Python内置函数(47)——open
热门文章
- js【Object.prototype.hasOwnProperty()方法】
- CentOS 网络基础:(1)HostName和DNS
- weblogic部署启动时报错(weblogic.application.ModuleException)
- 批量 // 注释替换为 /*的注释
- 一个PHP程序员应该掌握的10项技能!【更新】
- vue -- router路由跳转错误 , NavigationDuplicated
- win10设置Python程序定时运行(设置计划任务)
- 【BZOJ 3294】 3294: [Cqoi2011]放棋子 (DP+组合数学+容斥原理)
- sublime text3的一些小技巧记录(配gif图)
- Java内部类(转)