链表
单链表
1.链表是有序的列表,但是它在内存中存储如下
2.链表是以节点,是链式存储
3.每个节点包含data域,next域:指向下一个节点
4.链表的节点不一定是连续存储
5.链表分带头节点的链表和没有头节点的链表
双向链表
1.单向链表,查找的只能是一个方向,而双向链表可以向前或者向后查找。
2.单向链表不能自我删除,需要靠辅助结点,而双向链表,可以自我删除。
双向链表和单链表遍历是一样的,只是可以向前也可以向后查找
添加的时候(默认添加到双向链表的最后):
temp.next = newHeroNode
newHeroNode.pre = temp;
双向链表可以实现自我删除,找到要删除的节点,比如temp
temp.pre.next = temp.next;
temp.next.pre = temp.pre;