自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 Queue(队列)两组增删查操作的区别

Queue接口提供了两组增删查方法,区别在于异常处理方式:第一组方法(offer/poll/peek)在队列满/空时返回特殊值(false/null),适用于需要避免异常处理的场景;第二组方法(add/remove/element)在队列满/空时抛出异常(IllegalStateException/NoSuchElementException),适合需要严格检测队列状态的场景。开发者可根据具体需求选择合适的方法组,前者更安全,后者更严格。

2025-12-15 23:31:06 927 1

原创 OJ题解:逆波兰表达式求值

本文介绍了逆波兰表达式(后缀表达式)的求值方法。通过栈结构实现:遇到数字入栈,遇到运算符则弹出栈顶两个数字进行计算(注意操作数顺序),结果再入栈。最终栈中剩余数字即为表达式值。文中详细解释了转换过程和计算规则,并提供了Java代码实现,包含数字判断和四种基本运算处理。该算法能有效计算逆波兰表达式,时间复杂度为O(n),空间复杂度为O(n)。

2025-12-09 22:56:12 1005

原创 OJ题解:有效的括号

可以用一个for循环从左到右获取字符串的每一个字符,每获取一个字符,就检查是左括号还是右括号,如果是左括号就入栈,如果是右括号,就检查他和左括号匹不匹配。或者是左括号已经被右括号匹配完了,但是还有右括号,这两种栈为空的情况,就可以直接判定为无效的括号,返回false。再来说说匹配的情况,右括号要匹配左括号时,因为目前你还不知道匹不匹配,不能直接pop,要先peek一下,peek后匹配的话,才能pop。最后右括号都匹配完左括号了,还得检查一边左括号有没有全被匹配完,如果没有的话就是无效的括号。

2025-12-08 19:06:48 417

原创 二进制的抹零头

摘要: 题目要求计算小于等于给定整数N的最大的2的幂次方数(程序员眼中的"整数")。解法一通过逐次递减并利用位运算num & (-num) == num判断是否为2的幂;解法二直接调用Java库方法Integer.highestOneBit()高效实现。例如输入258,输出256(2^8),因其二进制为100000000。两种方法均能正确求解,后者更简洁高效。

2025-12-06 14:32:47 855 1

原创 抽象类和接口

本文介绍了Java中的抽象类和接口。抽象类是不能直接实例化的类,用于定义规范而非具体实现,包含抽象方法和普通方法,必须通过子类继承并实现抽象方法。接口则是定义公共行为规范的引用数据类型,类通过implements实现接口中的全部抽象方法。文章详细说明了抽象类和接口的语法规则、使用方式及特性区别,并通过USB设备示例展示了接口的实际应用。这两种机制都能通过编译器校验帮助预防错误,保证代码规范性。

2025-11-06 17:06:00 780

原创 继承和多态

本文介绍了Java中继承的概念及其应用。继承是面向对象编程实现代码复用最重要的手段,允许在保持原有类特性的基础上进行扩展。通过extends关键字建立继承关系,子类可以复用父类的成员变量和方法。当子类和父类成员同名时,遵循就近原则优先访问子类自己的成员。 文章通过猫狗继承动物的典型案例,演示了如何通过继承抽取共性代码,减少重复。同时详细讲解了子类访问父类成员变量的规则(包括同名情况下的处理),以及子类访问父类成员方法的不同场景(方法名相同或不同时的处理方式)。继承体现了由简单到复杂的程序设计层次,是面向对象

2025-10-20 11:19:43 377

原创 理解类和对象

本文介绍了Java面向对象编程的基本概念,重点讲解了类的定义、实例化、this关键字及对象初始化等内容。面向对象通过对象交互解决问题,区别于面向过程的具体步骤思维。类由属性和方法组成,通过new关键字实例化对象,使用"."访问成员。this关键字用于引用当前对象,解决成员变量与局部变量命名冲突问题。对象初始化可通过默认初始化(基本类型0,引用类型null)或构造方法实现。文章通过冰箱类示例,展示了如何定义类属性(品牌、颜色等)和方法(开门、关门等),并演示了对象实例化与成员访问的代码实现

2025-10-11 19:20:20 416

原创 青蛙跳台阶问题——递归经典问题(C语言递归方式实现)

本文通过分析青蛙跳台阶问题,总结出跳法数量的递归规律:当台阶数n≤2时,跳法数量等于n;当n>2时,跳法数量等于跳n-2级和n-1级台阶跳法之和。文中给出了具体的台阶数与跳法对应表(1→1,2→2,3→3,4→5,5→8等),并提供了C语言递归实现代码。最后通过n=3时的递归过程图示,直观展示了函数的调用过程。这种斐波那契数列式的解法,为理解递归问题提供了典型案例。

2025-08-21 00:58:00 669

原创 扫雷游戏初级版(C语言实现)

摘要: 本文详细介绍了扫雷游戏的构思与实现过程。游戏采用控制台操作,支持9×9棋盘随机布置10个雷,通过菜单选择开始或结束游戏。数据结构设计上,使用两个11×11数组分别存储雷的位置信息和排查信息,避免混淆。代码采用多文件结构,包括test.c(测试逻辑)、game.c(函数实现)和game.h(声明)。功能模块涵盖菜单打印、用户输入处理、棋盘初始化及打印(含行列坐标显示),并通过循环和条件判断实现游戏逻辑。核心难点通过扩展数组边界和分离数据存储解决,确保游戏体验的完整性和交互性。

2025-08-18 22:27:16 1081 2

原创 VS2022环境下给代码文件加密的方法

要想函数能实现,并且给函数的定义加密,首先得把代码写成多文件的形式,例如把函数的实现放在test.c,把Add函数的定义放在add.c,把函数的声明放在add.h。把该文件复制到其他项目的路径下,同时头文件(.h文件)也要复制,其他项目就可以正常使用这个代码文件里的函数,但是看不到源代码,因为文件打开就是一堆乱码。按照路径在本地找到文件,可以发现文件打开就是一堆乱码,但是该文件可以在项目中正常使用。点击“配置类型”,选择“静态库(.lib)”,再点击“应用”,然后点击“确定”右键点击项目,然后点击属性。

2025-07-28 01:16:26 459

原创 VS2022环境下如何设置使用C99变长数组(VLA)

Dev-C++使用的gcc编译器支持C99的变长数组,而VS2022默认使用的msvc的编译器是不支持C99的变长数组的,想要在VS2022环境下下使用C99的变长数组,需要安装clang(苹果)编译组件,再通过设置实现。第三步:右边“安装详细信息”栏下拉,找到“适用于Windows的C++Clang工具(17.0...”,把它勾选上,然后点击“修改”第六步:点击“平台工具集”,再点击右边的小倒三角图标,选择“LLVM(clang-c)”,点击“应用”,再点击“确定”。第四步:等待下载完成。

2025-07-27 20:04:34 533 1

原创 gitee如何删除仓库

第五步:按要求输入提示内容,输入完成后点击”确认删除“第六步:输入该gitee帐号的密码,然后点击“验证”第二步:点击左侧选项栏的“删除仓库”第一步:进入仓库,点击“管理”按钮。第四步:点击“删除仓库”按钮。

2025-07-27 00:53:33 565

原创 gitee克隆远程仓库到本地电脑

第二步:到达想要克隆的本地路径下,右键,再点击显示更多选项,再点击“Git Clone”第四步:如果看到”Succes“就说明克隆成功了,然后就可以点击“Close”按钮。第三步:核查一遍远程仓库地址和本地路径,核查正确后点击OK。第一步:复制仓库的地址(HTTPS)

2025-07-27 00:30:07 349

原创 gitee提交代码的三板斧

预备阶段:远程与本地先建立连接成功,然后在这个文件下找到.git,然后把写代码的文 件放到和.git同层,然后右键add;在Message栏根据自己的需要输入要点,例如我这次是在测试git,所以我写了“测试提交”若看到“Succes”,则说明代码已成功推送到远程仓库。单击“Tortoiselsit”,再单击“Add”单击右键,显示菜单栏,再点击“显示更多选项”最后点击“Close”完成操作。点击“Commit”点击“Commit”

2025-07-24 00:25:02 386

原创 经验杂篇 | 25年16周

想找出两数中较大的数可以用条件操作符如果a大于b,则把a的值赋给max,否则把b的值赋给max,这样max的值就是a,b两数中较大的数的值。

2025-04-11 18:31:00 324 2

原创 经验杂篇 | 25年14周

类似YYYYMM这种输入的格式要求,可以在占位符前面写入需要的数位,例如,想要编译器把输入的202401识别为2024和01,可以写为还有另一种方法,就是用cin取最低2位数为月份。

2025-04-05 13:43:40 588

原创 不常用函数及其头文件

一、在C++中,<cmath>头文件包含了许多常用的数学函数。这些函数主要用于各种数学运算,如三角函数、幂运算、对数运算等。二、 cstdlib 是C++标准库中的一个头文件,它包含了一系列标准的通用功能,如动态内存管理、随机数生成、与环境的通信、整数算术、搜索、排序和转换等。这个头文件是C语言标准库头文件 stdlib.h 的C++版本,它在 std 命名空间下提供了所有的功能。

2025-03-28 19:22:20 947 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除