- 前言
数据结构中,概念总是抽象,理解总是费劲的,然而,通过在这样抽象的东西实体化,不仅可以加强理解,还可以深入扩展,我在尝试着。
- 概念
什么是链表?链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。
- 链表抽象结构
- 头结点:链表的第一个有效的结点前面的结点,头结点并不用于存放数据,即数据域为空,加头结点主要是为了方便链表的操作;
- 首结点:存放链表的第一个有效结点,有且仅有一个,主要有数据域和指针域,但指针域有可能为空;
- 普通结点:存放该链表中的其他数据结点,与首结点一样,有零或无数个;
- 尾结点:链表的最后一个结点,指针域为空。
- 链表实体化结构
通过上述概念的分析,我们可以将链表联想成火车,我们把火车拆来看看
- 火车头:火车的头部,驱动整列前进,为不影响火车正常运行,所以火车没有多余座位,即没有数据域;
- 首节车厢:连接火车头部的第一节车厢,主要有座位、窗户等;
- 普通车厢:连接第一节车厢,有座位、窗户等;
- 尾节车厢:火车的最后一节车厢,后面没有车厢了。
感觉链表实体化之后,可能理解上会更简单点。如有在内容方面有什么问题或有更好地建议的话,希望多多指教。