
数据结构与算法(Java)
王者权权
这个作者很懒,什么都没留下…
展开
-
双向链表Java实现
package day01;public class MyTwoWayLinkedList<T> { public Node head; public Node last; public int size; public MyTwoWayLinkedList(){ head = new Node(null,null,null); last = new Node(null,null,null); head.nex原创 2021-09-09 21:45:20 · 129 阅读 · 0 评论 -
单链表Java实现及单链表反转、快慢指针、单链表是否有环、单链表环入口
import java.util.Iterator;public class MyOneWayLinkedList<T> implements Iterable{ Node head; private int size; public MyOneWayLinkedList() { head = new Node(null,null); size = 0; } public int getSize() {原创 2021-09-09 21:41:34 · 159 阅读 · 0 评论 -
经典六大排序算法(冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序)
import java.util.Arrays;public class Sort { public static void main(String[] args) { Integer[] a = {8,6,4,945,56,95,44,1,64,645,6,74,65,65,77,33,6,4,56}; quickSort(a,0,a.length-1);// bubbleSort(a); shellSort(a);//原创 2021-09-07 19:10:18 · 180 阅读 · 0 评论 -
Java单链表面试题
单链表面试题获取单链表长度查找单链表倒数第k个元素单链表反转反向打印单链表(不破坏原有单链表)合并两个有序的单链表,合并后依然有序原创 2020-10-09 23:14:24 · 209 阅读 · 0 评论 -
单链表(Java实现)
单链表(Java实现)什么是链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针连接次序实现的。每一个链表都包含多个节点,节点又包含两个部分,一个是数据域(储存节点含有的信息),一个是引用域(储存下一个节点或者上一个节点的地址)。链表的特点是什么不指定大小,扩展方便。链表大小不用定义,数据随意增删。内存中非连续,内存利用率高获取数据麻烦,需要遍历查找,比数组慢方便插入、删除单链表实现public class HeroNode { publ原创 2020-10-02 11:15:42 · 333 阅读 · 0 评论 -
Java实现数组模拟(环形)队列
还没写完原创 2020-09-25 13:35:47 · 143 阅读 · 0 评论 -
Java实现普通二维数组和稀疏数组的相互转换
稀疏数组应用场景 在五子棋游戏当中,一般都有“存档”和“继续上局”的功能,存档的时候需要把棋盘上的数据转成二维数组,存储到磁盘中,继续上局的时候需要把数据从磁盘中取出来,还原到棋盘上。 我们发现,这个二维数组很多数据都是0,有效数据只有4个(1,2,1,2),这样直接存储会浪费磁盘空间,这时候需要将数据压缩为稀疏数组来节省空间。稀疏数组格式为了对比学习,我们先初始化一个原始二维数组,模拟棋盘int[][] initialArray = { {0,0,0,0,0,0,0,0,0,0,0原创 2020-09-25 13:22:13 · 598 阅读 · 0 评论