1.结构定义
不需要一片连续的存储空间,空间可以是分散的,通过指针连接在一起
链表是由一个个链表节点组成,前一个节点指向后一个节点
链表=程序内部+内存内部,在程序中我们只能拿到一个头节点head,当需要对其他节点进行操作时,我们需要通过头节点不断向后遍历拿到所需的节点
链表节点由两部分组成:
- 数据域:存放数据
- 指针域:用来指向下一个节点
链表的优缺点
- 优点:
- 插入和删除速度快,保留原有的物理顺序,比如:插入或者删除一个元素时,只需要改变指针指向即可。
- 没有空间限制,存储元素的个数无上限,基本只与内存空间大小有关。
- 缺点:
- 占用额外的空间以存储指针(浪费空间,不连续存放,malloc开辟,空间碎片多)
- 查找速度慢,因为查找时,需要循环链表访问,需要从开始节点一个一个