摘要: 单向环形链表:单向链表的改变版,链表中的最后一个数永远指向链表的第一个数,由此形成一个环形。 先自定义一个节点类: 1 /** 2 * 定义节点类Boy 3 */ 4 class Boy{ 5 private int no; 6 private Boy next; 7 public Boy(int 阅读全文
posted @ 2020-09-24 11:06 sixsixman 阅读(177) 评论(0) 推荐(0)
摘要: 栈:和队列相反的作用,越是先存入的数据就得越到后才能取出,根据这个特性可以用数组或链表模拟出栈。 数组模拟栈:添加数据正常顺序,每天加一个数栈顶加一次,弹栈的时候将栈顶指针的数弹出即可,遍历栈数组时是从栈顶开始循环。 1 class ArrayStack{ 2 private int maxSize 阅读全文
posted @ 2020-09-24 10:49 sixsixman 阅读(133) 评论(0) 推荐(0)
摘要: 双向链表:就是在单向链表的基础上加了一个pre(指向该节点的前一个节点)域,其他的没有改变,在对链表进行增删相关操作时在单向链表的基础上多以一个向前节点连接的动作即可。 因为有了指向前一个节点域,所以双向在查找数据上比单向的速度要快。 1 /** 2 * 双向链表 3 */ 4 class Doub 阅读全文
posted @ 2020-09-21 10:36 sixsixman 阅读(186) 评论(0) 推荐(0)
摘要: 定义:链表就是由包含值域和next域的多个节点组成,其中由头节点出发连接下一个节点直到最后, 链表的逻辑储存结构和实际储存结构是不一样的,逻辑结构中每个节点都是按顺序连接,实际则不是,主要根据节点的next域来实现连接。 单链表:节点只有值域和next域,结构中的数据查询也只能按一个方向来实现 单链 阅读全文
posted @ 2020-09-18 15:05 sixsixman 阅读(173) 评论(0) 推荐(0)
摘要: 队列: 数据的存取遵循先进先出的原则。 实现思路: 因为队列是线性结构,所以队列可以使用数组或链表来实现; 头节点(front)表示队列的头数据,尾节点(rear)表示队列尾部的数据;【注:单链式的队列和环形队列中front和rear的初始值不同】 两个节点相当于队列的进出门卡,数据存储要登记fro 阅读全文
posted @ 2020-09-09 14:56 sixsixman 阅读(181) 评论(0) 推荐(0)
摘要: 稀疏数组(sparse array): 定义:如果一个数组(包括多维数组)中的大部分元素为0(或者为同一个值的数组时),为了节约空间,可以使用稀疏数组来保存该数组。 功能: (1)记录原始数组总共有几行几列,以及有多少个有效值(下图中右边稀疏数组第0行)。 (2)通过一个小规模的数组记录原始数组中有 阅读全文
posted @ 2020-08-31 10:30 sixsixman 阅读(244) 评论(0) 推荐(0)