
链表
知书丶
一个热爱学习的先生
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
链表(一)单向链表
链表(Linked list):是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针,使其他们连接起来。优点 :链表在内存中是分散的,使用链表结构可以克服需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。缺点:链表失去了数组随机(随意)读取的优点,并且空间开销比较大(需要频繁的创建新的实例)单向链...原创 2019-05-28 09:18:14 · 250 阅读 · 0 评论 -
链表( 二)双端链表与闭环
对于单项链表,我们如果想在尾部添加一个节点,那么必须从头部一直遍历到尾部,找到尾节点,然后在尾节点后面插入一个节点。这样操作非常麻烦,并且耗费性能,如果我们在设计链表的时候多个对尾节点的引用,那么会简单很多。双端链表相对于单向链表只是多了一个对尾部节点的引用双端链表的实现与解析:(1)创建双端链表双端链表节点和单向链表一样分为两个部分,第一个部分保存或者显示关于节点的信息,另一个部分存储下...原创 2019-05-28 10:45:34 · 675 阅读 · 0 评论 -
链表(三)双向链表
我们知道单向链表只能从一个方向遍历,那么双向链表它可以从两个方向遍历。双向链表可以进行通过节点访问上一级,也就是说双向链表相对于单向链表只有一个指向下级节点字段多了一个指向上一级节点的字段。双向链表相对于单向链表只是多了一个对上级节点的引用双向链表的实现与解析:(1) 创建双向链表双向链表节点和单向链表一样分为两个部分,第一个部分保存或者显示关于节点的信息,另一个部分存储下一个节点的地...原创 2019-06-03 20:44:12 · 252 阅读 · 0 评论 -
Java用链表实现队列
队列(queue):是一种特殊的线性表,特殊之处在于它遵从先进先出原则,它只允许在表的前端进行删除操作,而在表的后端进行插入操作,队列和栈一样是一种操作受限制的表,进行插入操作的端称之为队尾,进行删除操作的端称之为队头,队列中没有元素时称之为空队列。向队尾进行插入操作称之为入队,向队头进行删除操作称之为出,队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除(先进先出...原创 2019-07-25 11:42:20 · 958 阅读 · 0 评论 -
Java使用链表实现栈
栈(Stack):又称堆栈,栈和队列一样是一种操作受限制的表。栈是一种特殊的线性表,特殊之处在于它遵从后进先出原则,它只允许在表的一端进行删除和插入操作,人们把这端称之为栈顶,栈顶的第一个元素为栈顶元素,相对地,把另一端称为栈底。向一个栈插入新元素又称为进栈或入栈,就是把该元素放到栈顶元素的上面,使之成为新的栈顶元素,从一个栈删除元素又称为出栈或退栈,它是把栈顶元素删除掉,使其下面的相邻元素成为...原创 2019-07-26 15:59:32 · 830 阅读 · 1 评论