链表

链表

数据存储在“ 节点 ”(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

链表的天然递归性:

递归:

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

​ 以及转化为更小的问题

原文地址:https://www.cnblogs.com/gaoyang666/p/12427621.html