- n个结点离散分布,彼此通过指针相联系
- 除头结点和尾结点外,每个结点只有一个前驱结点和一个后继结点。头结点没有前驱结点,尾结点没有后继结点
- 头结点并不存放有效数据,只存放链表首地址,其头结点的数据类型和首结点类型一样。
- 加头结点的目的是方便对链表的操作,比如在链表头部进行结点的删除、插入等。
链表分为单链表、循环链表、双向链表
单链表只能知道下一个数据的地址,不能知道上一个的,比方说,有一个链表,其中有123456,如果我只知道4的地址,然后想要找2,是找不到的
循环链表是尾结点中存储了头结点的地址信息,这样一来,只知道4的地址,也可以找到2,因为它会重新遍历一次
双向链表是分别存储了上一个结点的地址信息和下一个结点的地址信息,这样一来,它的删除效率会比单链表和循环链表高一点,但是它的空间占用要高一些