- 博客(11)
- 收藏
- 关注
原创 设计模式和数据结构以及Java基础的分享(定时更新)
设计模式七大设计原则单一职责原则:一个类只应该负责一件事情。接口隔离原则:如果实现接口只需要重载里面的部分方法,那就应该把这个接口拆分。依赖倒置原则:应该面向接口编程,依赖抽象而不是具体。里氏替代原则:继承父类的时候不要改变父类的方法(大体方向),使用接口的地方,放入子类一定是可以的。迪米特法则:最少知道原则,只和成员变量,方法参数,自己的实例对象通信,少使用局部变量。开闭原则:对拓展开放(提供端),对修改关闭(调用端)。合成复用原则:尽量少使用继承来实现复用,而使用聚合和组合(组合依赖性
2021-08-02 18:32:46
322
1
原创 顺序化二叉树
顺序化二叉树/** * 顺序化二叉树:使用数组存储二叉树 */public class OrderBinaryTree { private Integer[] orderBinaryTree = new Integer[] {1, 2, 3, 4, 5}; public static void main(String[] args) { OrderBinaryTree orderBinaryTree = new OrderBinaryTree();
2021-08-01 23:01:40
214
原创 二叉树的遍历和删除
二叉树的遍历和删除/** * 二叉树 */public class BinaryTree { public static void main(String[] args) { // 这里先使用手动构建二叉树 Node node = new Node("德玛西亚之力"); Node node1 = new Node("诺克萨斯之手"); Node node2 = new Node("无情铁手"); Node no
2021-08-01 23:00:58
239
原创 八皇后问题
八皇后问题public class EightQueen { // 此处不需要原子类,但是由于今天学习了原子类,这里使用 private AtomicIntegerArray queen = new AtomicIntegerArray(8); private AtomicInteger count = new AtomicInteger(0); public static void main(String[] args) { EightQueen ei
2021-08-01 22:59:53
191
原创 迷宫递归问题
迷宫递归问题/** * 递归迷宫问题 */class Maze { private int[][] maze = new int[8][7]; /** * 初始化迷宫 */ public void initMaze() { // 初始化围墙 for (int i = 0; i < 8; i++) { maze[i][0] = 1; maze[i][6] = 1;
2021-07-18 21:53:11
100
原创 数组实现栈
数组实现栈/** * 数组实现栈 */class ArrayStack { public int[] stack; public int top = -1; /** * 初始化栈 * @param size */ public ArrayStack(int size) { stack = new int[size]; } /** * 入栈 * @param num 入栈的元素
2021-07-18 21:51:22
110
原创 约瑟夫问题(小孩出列)
约瑟夫问题(小孩出列)class Joseph { private Boy first = new Boy(-1); /** * 添加节点:使用 current 保存当前节点,新增一个节点把 current 的下一个指向他,后把 current 等于他,再指向第一个孩子节点 * @param nums 添加几个孩子节点 */ public void createJoseph(int nums) { if (nums < 1)
2021-07-18 21:50:37
243
原创 双链表的增删改查
双链表的增删改查/** * 双链表增删改查 */class DoubleLinkedList { HeroNode head = new HeroNode(); /** * 添加节点 * @param heroNode */ public void add(HeroNode heroNode) { HeroNode temp = head; while (true) { if (temp
2021-07-18 21:49:45
90
原创 单链表的增删改查
单链表的增删改查/** * 单链表增删改查 */class LinkedList { private HeroNode head = new HeroNode(); /** * 插入节点:第一种,直接放到链表最后,遍历到链表最后,next 指向新增节点即可 * @param heroNode */ public void add(HeroNode heroNode) { HeroNode temp = head;
2021-07-18 21:48:17
110
原创 数组实现环形队列
数组实现环形队列因为数据结构都忘记了,现在重新学习,在此记录,也分享给同样在学习的同学,一起进步,加油!/** * 数组实现环形队列 * */class CircularQueue { /** * Queue 的最大容量为 maxSize - 1 为了 front 和 real 的值更好控制。 */ private int maxSize; /** * 代表队列的头,初始化为 0 */ private int front;
2021-07-18 21:46:12
100
原创 idea中lombok的使用以及对象的序列化和反序列化
idea中lombok的使用以及对象的序列化和反序列化1.首先在idea下载lombok插件1.1点击file——>Settings——>plugins——>Browse…——>搜索lombok——>install2.安装完成后重启idea3.导入maven坐标org.projectlomboklombok1.16.164.lombok常用注解@Data 注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals
2020-05-28 09:04:20
7708
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人