静态链表



逻辑结构


静态链表是在顺序表的基础上利用数组实现的单链表,无指针


静态链表是柔性数组的一种典型的应用






创建可复用静态链表













小结


为什么静态链表的结构体中要再定义一个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

数据结构笔记-----链表相关推荐

  1. Python数据结构学习笔记——链表:无序链表和有序链表

    目录 一.链表 二.无序链表 实现步骤分析 三.无序链表的Python实现代码 四.有序链表 实现步骤分析 五.有序链表的Python实现代码 结语 一.链表 链表中每一个元素都由为两部分构成:一是该 ...

  2. 18、数据结构笔记之十八链表实现稀疏矩阵

    18.数据结构笔记之十八链表实现稀疏矩阵 "必须如蜜蜂一样,采过许多花,才能酿出蜜来." 上篇中实现了栈在多项式实现中的例子,再来看下稀疏矩阵通过链表方式实现. 关键字:十字链表存 ...

  3. 【单向链表】数据结构——单向链表的介绍与代码实现笔记

    从今天开始将修炼数据结构专栏,将持续更新,分模块学习. 数据结构--单向链表 一.数据结构 1.什么是数据结构? 2.逻辑结构和物理结构 二.链表--线性结构 1.首先介绍下链表和数组的区别 2.链表 ...

  4. 数据结构笔记--线性表定义与实现(Swift)

    数据结构笔记系列 数据结构笔记-两个有序链表合并成一个有序链表 线性表   线性表是最常用且最简单的一种数据结构,简言之,一个线性表是 n 个数据元素的有序序列. 特点 只有一个首结点和尾结点: 除首 ...

  5. 数据结构笔记(王道考研) 第八章:排序

    大部分内容基于中国大学MOOC的2021考研数据结构课程所做的笔记,该课属于付费课程(不过盗版网盘资源也不难找...).后续又根据23年考研的大纲对内容做了一些调整,将二叉排序树和平衡二叉树的内容挪到 ...

  6. 数据结构笔记(王道考研) 第五章:树和二叉树

    大部分内容基于中国大学MOOC的2021考研数据结构课程所做的笔记,该课属于付费课程(不过盗版网盘资源也不难找...).后续又根据23年考研的大纲对内容做了一些调整,将二叉排序树和平衡二叉树的内容挪到 ...

  7. 二、考研数据结构笔记——绪论(理解数据结构,算法,时间复杂度计算做题技巧)

    一.数据结构基本概念 1.数据:数据是信息的载体.客观事物的一种表现形式.万事万物都能用数据表示出来. 2.数据元素:数据元素是数据的基本单位,一个数据元素有若干个数据项组成 3.数据项:构成数据元素 ...

  8. 大话数据结构笔记-图

    大话数据结构笔记-图 定义 图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为 G(V,E), 其中 G表示一个图, V是图G中的顶点的集合, E是图G中边的集合. 顶点就是图中 ...

  9. 一、考研数据结构笔记——引言及目录

    一.关于我理解的数据结构 1. 引言 本人自2021年3月准备考研,考研主要是为了提升学历,本科院校不是理想.迫切需要提高学历. 写这刊博客,主要是总结我考研路上对数据结构的一些理解,以及为了方便我后 ...

  10. 数据结构之链表(java语言实现)

    链表的底层储存结构: 相对于数组这一需要连续.足够大空间的数据结构,链表只需要利用"指针"将一组零碎的空间(在链表中称之为节点)串联起来,这样就可以避免在创建数组时一次性申请过大的 ...

最新文章

  1. Maven简单的配置Junit测试及使用简单的mock
  2. JQuery判断数组中是否包含某个元素$.inArray(js, arr);
  3. MySQL · 引擎特性 · InnoDB 事务子系统介绍
  4. python游戏循环设置_Pygame:游戏循环前的初始菜单
  5. Linux系统基础命令详细总结,不定期更新,建议收藏
  6. Python告诉你NBA球星都喜欢在哪个位置出手?
  7. 毁人不倦 - 许嵩 - 苏格拉没有底
  8. 关于检测Windows电脑电池信息
  9. 什么是抽象类和抽象方法,以及他们的特点
  10. Seaweedfs基本操作
  11. ratingbar 的使用
  12. 如何在idea中配置JSTL
  13. RK3326 8.1系统定制化通用修改
  14. 离散系统频响特性函数freqz()
  15. Mybatis generator自动生成mybatis配置和类信息
  16. 使用FME实现PGDB转CAD并赋eed属性
  17. 840D sl(QT)使用ocx外部控件
  18. 浅谈艺工结合——自然科学和艺术美学的链接融合
  19. ES 常用查询命令汇总
  20. python内置函数open_Python内置函数(47)——open

热门文章

  1. js【Object.prototype.hasOwnProperty()方法】
  2. CentOS 网络基础:(1)HostName和DNS
  3. weblogic部署启动时报错(weblogic.application.ModuleException)
  4. 批量 // 注释替换为 /*的注释
  5. 一个PHP程序员应该掌握的10项技能!【更新】
  6. vue -- router路由跳转错误 , NavigationDuplicated
  7. win10设置Python程序定时运行(设置计划任务)
  8. 【BZOJ 3294】 3294: [Cqoi2011]放棋子 (DP+组合数学+容斥原理)
  9. sublime text3的一些小技巧记录(配gif图)
  10. Java内部类(转)