- 博客(5)
- 收藏
- 关注
原创 java自定义动态数组和链表(ArrayList、LinkedList)
本文通过手动实现简化版ArrayList和LinkedList,深入解析Java集合框架的底层原理。ArrayList基于动态数组实现,重点展示了动态扩容机制(1.5倍扩容)以及增删改查操作中数组元素搬移的实现逻辑。LinkedList采用单向链表结构,详细说明了节点插入、删除时的指针调整过程。通过对比两种数据结构的实现差异,揭示了ArrayList随机访问高效(O(1))与LinkedList插入删除灵活(O(1)头尾操作)的特性差异,为开发者根据不同场景选择合适数据结构提供了实践参考。
2025-05-28 14:11:31
1781
原创 C++树与二叉树详解(树的创建与删除,各种遍历,复制二叉树,线索二叉树,判断相似)
本文介绍了C++中树与二叉树的基本概念、存储结构和操作实现。主要内容包括:1)树的三种存储结构:双亲表示法、孩子链表表示法和最常用的孩子兄弟表示法;2)二叉树的逻辑结构特点、满二叉树和完全二叉树的定义及性质;3)二叉树的两种存储结构:二叉链表和三叉链表;4)二叉树的创建、删除操作的递归和非递归实现;5)二叉树的三种递归遍历方式(前序、中序、后序)和层序遍历的实现方法。文章通过代码示例和图示详细说明了各种数据结构的实现方式,为理解和应用树结构提供了基础参考。
2025-05-26 19:02:47
709
原创 Java实现HashMap
HashMap是一种基于哈希表实现的键值对存储结构,具有快速查找的特点。本文介绍了HashMap的基本概念、数据结构(数组+链表)、工作原理(哈希函数与冲突处理)以及常用方法(put/get/remove)。重点分析了扩容机制resize()的实现过程,包括数组扩容、重新哈希等步骤。代码实现部分展示了自定义HashMap的核心逻辑,包括哈希计算、链表处理、扩容触发条件等关键功能。该实现支持null键值存储,并通过链表解决哈希冲突问题。
2025-05-25 18:08:39
1430
原创 java图像界面设计——五子棋小游戏
本项目使用java swing 实现五子棋游戏,包括"开始",“悔棋”,“复盘”,“双人模式”,“人机模式”,“暂停保存”,"继续游戏"的基本功能。本项目代码分为ChessUI类(界面),GameListener类(监听器),AI类(人机模式的算法),Shapes类(保存棋局数据),GameWin类(判断输赢)和一个config接口(棋盘规格常量)。本项目用Java Swing实现五子棋游戏,涵盖多种功能。
2025-05-10 23:11:02
1715
原创 Java 类与对象和类的继承
面向对象程序设计将程序看做是一系列对象组成,而不是一系列动作组成。对象(实例):一个包含状态(数据)和行为(方法)的编程实体,是具体的。类:具有相同特征的事物的抽象描述,是抽象的。一个类里可以有多个对象方法(函数)该类事物的行为。对应类中的成员方法。类的定义示例代码:1.3 构造方法两种构造方法:无参构造方法,有参构造方法;在对象的生命周期中只调用一次;名字与类名相同;无返回值;每个类都有一个默认的无参构造函数。在用户没有定义有参构造方法时,new对象时会自动调用无参构造方法;
2025-03-24 22:33:14
687
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人