链表的定义:是一个通过指针串联起来的一个线性结构,每个链表节点由两部分组成,分别是指针域与数据域
链表的分类:单链表、双向链表、循环链表
链表的存储方式:不是连续的分布在内存地址中,散乱地分布在内存中,分配机制取决于操作系统地内存管理。如图1
链表代码定义如下:
class listNode{
int val;
listNode next;
listNode prev;
}
链表常用的操作包括删除节点和增添节点,示意图如下:
链表和数组各有各的特性,链表插入与删除复杂度较低,但是查询复杂度高,需要遍历;数组刚好与链表特性完全相反。