零、前言
「 数据结构 」 和 「 算法 」 是密不可分的,两者往往是「 相辅相成 」的存在,所以,在学习 「 数据结构 」 的过程中,不免会遇到各种「 算法 」。
到底是先学 数据结构 ,还是先学 算法,我认为不必纠结这个问题,一定是一起学的。
数据结构 常用的操作一般为:「 增 」「 删 」「 改 」「 查 」。基本上所有的数据结构都是围绕这几个操作进行展开的。
那么这篇文章,作者将用 「 七张动图 」 来阐述一种最基础的链式结构
「 单向链表 」
![]()
今天要讲的内容,浓缩一下就是下面这张图:
![]()
看不懂没有关系,我会把它拆开来一个一个讲,首先来看一些简单的概念。
文章目录
一、概念
- 对于顺序存储的结构,如数组,最大的缺点就是:插入 和 删除 的时候需要移动大量的元素。所以,基于前人的智慧,他们发明了链表。
1、链表定义
链表 是由一个个 结点 组成,每个 结点 之间通过 链接关系 串联起来,每个 结点 都有一个 后继节点,最后一个 结点 的 后继结点 为 空结点。如下图所示:

- 由链接关系
A -> B组织起来的两个结点,B被称为A的后继结点,A被称为B的前驱结点。 - 链表 分为 单向链表、双向链表、循环链表
本文详细介绍了单向链表的概念、结点结构体、创建、打印、索引、查找、插入和删除操作,通过动图和源码解析加深理解。链表在插入和删除操作上具有优势,但索引和查找效率较低。
订阅专栏 解锁全文
9917






