链表

链表

数据存储在“ 节点 ”(Node) 中

class Node{
	E e;
	Node next;
}

优:动态,不需要处理容量

缺:无法随机访问

设置 dummy head :虚拟头结点

​ 可以简化某些题目的解答

删除节点:

如果不考虑释放空间,可以简写 prev.next = prev.next.next , 这样就将 指针指向下下个节点了

  • 使用链表 实现栈

    在head 端,入栈,出栈操作

  • 使用链表 实现 队列

    改进链表,添加尾节点 tail,head端出队,tail端入队

双向链表:

class Node{
	E e;
	Node next,prev;
}

每个节点有指向前后的两个指针

一样可以设置 dummyHead

循环链表:

尾节点指向首节点

dummyhead

链表的天然递归性:

递归:

​ 把问题分解成 最基本的一个问题,

​ 以及转化为更小的问题

posted @ 2020-03-06 17:08  gaoyang666  阅读(118)  评论(0编辑  收藏  举报