- 博客(6)
- 收藏
- 关注
原创 数据结构与算法(六)- 单向链表的反转
数据结构与算法(六)- 单向链表的反转一.头节点插入法/** * 反转单向链表(头插法) * * 1.先定义一个节点reverseHead = new HeroNode() * 2.从头到尾遍历原来的链表,每遍历一个节点,就将其取出,并放在新的链表的最前端 * 3.原来的链表的head.next = reverseHead.next * @param head * @return */ public static S
2021-08-05 17:26:36 152 1
原创 数据结构与算法(五)- 链表
数据结构与算法(五)- 链表创建单向链表先创建一个head头节点,用来表示单向链表的头 public int no; public String name; public String nickName; public HeorNode next;//指向下一个节点后面每添加一个节点,就直接加到当前链表的结尾处 /** * 添加节点到单向链表 * 思路:当不考虑编号顺序时 * 1.找到当前链表的最后节点 * 2
2021-08-05 17:25:58 97
原创 数据结构与算法(四)- 用数组模拟环形队列
数据结构与算法(四)- 用数组模拟环形队列对前面的数组模拟队列的优化,充分利用数组,因此将数组看作是一个环形的。(通过取模的方式来实现)思路如下:front变量的含义做一个调整:front就指向队列的第一个元素,也就是说arr[front]就是队列的第一个元素,front的初始值=0 /** * front的变量含义做一个调整:front就指向队列的第一个元素,也就是说arr[front] * 初始值 = 0 */ private int front;
2021-08-05 17:17:17 91
原创 数据结构与算法(三)- 队列
数据结构与算法(三)- 队列队列是一个有序表,可以用数组或链表来实现遵循先入先出的原则。即:先存入队列的数据要先取出,后存入的要后出。用数组模拟队列队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图,其中maxSize是该队列的最大容量。因为队列的输出、输入是分别从前后端来处理。因此需要两个变量front及rear分别记录队列前后端的下标,front会随着数据输出而改变,而rear则是随着数据输入而改变初始化一个队列 /** * 数组
2021-08-05 17:15:42 84
原创 数据结构与算法(二)- 稀疏数组
数据结构与算法(二)- 稀疏数组当一个数组中大部分元素为同一个值时,可以使用稀疏数组来保存该数组。中心思想:记录数组一共有几行几列,有多少个不同的值。把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模。稀疏数组的第一行分别是二维数组的行数,列数,及有效数据的个数创建二维数组 /** * 创建一个原始的二维数组11*11 * 0:表示没有棋子 1:表示黑子 2:表示白子 */ in
2021-08-05 17:12:56 145
原创 数据结构与算法(一)- 简介
数据结构与算法(一)- 简介数据结构包括:线性结构和非线性结构线性结构线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息线性结构常见的有:数组、队列、链表和栈非线性结构非线性结构包括:二维数据,多维数据,广义表,树结构,图结构...
2021-08-05 17:07:19 75
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人