随笔分类 -  DataStructure

摘要:栈是一组数组记录,表现形式为先进后出的数据结构。底层可以由数组或者链表实现。它是一种限制线性表,元素插入和删除只能在线性表的同一端进行。允许插入和删除的一端,为变化端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。 最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反 阅读全文
posted @ 2019-06-18 12:05 Latiny 阅读(147) 评论(0) 推荐(0) 编辑
摘要:1、问题描述 n个人围成一圈,从第k个人开始报数,报到m的人出圈,剩下的人继续从出圈的下一个人开始报数,报到m的人出圈;如此往复,直到所有人出圈。(模拟此过程,输出出圈的人的序号)。 2、采用单向循环链表实现 节点 public class HeroNode { protected Integer 阅读全文
posted @ 2019-06-17 17:39 Latiny 阅读(227) 评论(0) 推荐(0) 编辑
摘要:双向链表跟单链表类似,每个节点多了previous指针,指向前一个元素;还多了一个tail指针指向链表的尾节点;可以从头尾两个方向遍历链表。 代码实现 public class DoubleLinkedList { private DoubleNode head; private DoubleNod 阅读全文
posted @ 2019-06-17 14:25 Latiny 阅读(208) 评论(0) 推荐(0) 编辑
摘要:链表是一种常见的基础数据结构,是一种有序的列表,但不会按照线性顺序存储数据,而是在每一个节点里存储下一个节点的指针(next)。链表适合插入、删除,不宜过长,否则会导致遍历性能下降。 以节点方式存储; 每个节点包含data域,next域:指向下一个节点; 链表的各个节点不一定是连续存储的; 代码实现 阅读全文
posted @ 2019-06-14 16:52 Latiny 阅读(832) 评论(0) 推荐(0) 编辑
摘要:队列是一种特殊的线性表,是一种先进先出的数据结构。只允许在表的前端进行删除操作,在表的后端进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 简单的循环队列实现比较容易,队头获取数据、队头弹出获取数据,队尾插入数据。下面来研究一下可以无限循环使用的队列。 阅读全文
posted @ 2019-06-13 19:39 Latiny 阅读(478) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示