自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二、用户中心的开发

本文摘要: 文章介绍了用户管理系统的需求分析与设计方案。系统功能包括用户注册、登录、信息获取、退出登录及权限管理,其中管理员拥有用户增删查改权限。数据库采用MySQL设计,包含用户表和后期扩展的会员表、邀请表结构。交互流程详细展示了注册和登录的时序图,包括参数校验、密码加密、JWT生成等关键步骤。技术实现上引入MyBatis Flex代码生成器,提供自动生成实体类和控制器的工具类配置。整体方案采用分层架构设计,注重数据安全和可扩展性。

2026-03-12 07:44:02 344

原创 一、项目初始化

本文介绍了使用IDEA初始化Spring项目的步骤:1)新建项目并选择Spring依赖;2)检查项目能否正常运行;3)清理无用文件;4)配置Maven环境。还提供了常用依赖整合方案,包括Hutool工具库、Knife4j接口文档和AOP切面的配置方法,强调需从官方文档获取最新依赖信息。项目初始化完成后,建议添加@EnableAspectJAutoProxy注解以启用AOP功能。

2026-03-12 07:41:56 292

原创 LeetCode算法题解双指针之1089.复写零(Java版)

本文介绍了LeetCode"复写零"问题的解法。题目要求遍历数组,遇到0时复写两次,非0元素则只复写一次。解法采用双指针技术:首先用cur和dest指针确定复写后的数组边界,处理可能的越界情况后,再从后向前完成复写操作。算法时间复杂度为O(n),空间复杂度O(1)。代码实现中特别处理了数组末尾为0的边界情况,确保结果正确。

2026-02-26 15:40:48 57

原创 LeetCode算法题解双指针之283.移动零(Java版)

本文介绍了使用双指针算法解决"移动零"问题的方法。题目要求将数组中的零元素全部移动到末尾,同时保持非零元素的相对顺序不变。算法采用两个指针(cur和dest)将数组分为三部分:已处理的非零部分、已处理的零部分和未处理部分。通过遍历数组,当遇到非零元素时进行交换操作,确保非零元素前移而零元素后移。最终实现了原地操作且时间复杂度为O(n)的高效解决方案。代码展示了具体实现过程,包括指针移动和元素交换的逻辑。

2026-02-26 15:36:51 515

原创 牛客BM2 链表指定区间反转

本文介绍了链表指定区间反转问题的解法。通过引入虚拟头节点(dummy)统一处理边界情况,采用头插法实现区间反转。算法使用三个指针(pre、cur、temp),通过n-m次循环将区间内节点依次插入到pre之后,完成反转。整个过程只需遍历一次链表,空间复杂度为O(1)。代码实现简洁高效,适用于任意长度的反转区间。

2026-02-13 10:31:24 478

原创 牛客BM1 反转链表

本文介绍了反转单链表的算法实现。题目要求将给定链表原地反转,不能使用额外空间且只能遍历一次链表。采用三指针法(pre、cur、temp)逐步反转节点指向:先用temp保存当前节点的next,然后将cur.next指向pre,最后移动pre和cur指针。当cur为null时循环结束,此时pre指向新链表头节点。代码实现简洁高效,时间复杂度O(n),空间复杂度O(1)。边界情况(空链表或单节点链表)也能正确处理。

2026-02-13 10:29:43 549

原创 一、HTML 完全指南:从零开始构建网页

《HTML完全指南:从零开始构建网页》摘要 本文是一篇HTML入门指南,介绍了网页开发的基础语言HTML。文章首先概述HTML的基本概念和重要性,强调其作为网页开发核心技术的地位。然后详细讲解了HTML文件的基本结构,包括DOCTYPE声明、html、head、body等标签的层级关系和使用方法。接着重点介绍了常见HTML标签,如标题标签h1-h6、段落标签p、注释标签等,并提供了具体示例代码。文章还解释了DOM树的概念和作用,帮助读者理解网页结构。最后,介绍了快速生成HTML代码框架的技巧,适合零基础学习

2025-09-12 20:47:26 1448

原创 二、网页的“化妆师”:从零学习 CSS

CSS(层叠样式表)是一种用于美化HTML页面的语言,通过选择器和声明块来定义样式。基本语法包括选择器、属性和值,需遵循分号结束、冒号连接等规范。CSS有三种引入方式:行内样式(直接写在标签内)、内部样式表(写在<head>的<style>中)和外部样式表(通过<link>引入独立.css文件)。选择器包括通配符(*)、元素选择器(如p)、类选择器(.class)、ID选择器(#id)、后代选择器(div p)、子选择器(div>a)、并集选择器(div,h3)和伪

2025-09-12 20:46:46 951

原创 二、Java方法对应练习

本文展示了7个Java编程实例,涵盖基础算法和递归应用:1)判断闰年(能被4整除且不被100整除,或能被400整除);2)两数相加;3)递归求阶乘(n!=n*(n-1)!),基线条件为n=1;4)递归分解数字各位(如1234输出1 2 3 4);5)递归求1到n的和;6)递归计算数字各位和(如1729返回1+7+2+9=19);7)递归求斐波那契数列第n项(fib(n)=fib(n-1)+fib(n-2))。这些案例演示了递归的核心思想:将问题分解为更小的同类子问题,直到达到基线条件。

2025-08-14 20:37:21 263

原创 五、Java方法详解:深入理解方法

摘要 本文介绍了Java中方法(Method)的概念及其优势。通过计算不同形状面积的示例,展示了使用方法如何避免代码重复、提高可读性和复用性。文章详细讲解了方法的定义语法,包括访问修饰符、返回值类型、参数列表等关键要素,并提供了多个方法定义示例。同时阐述了方法调用的执行过程和Java的值传递机制,特别强调了基本数据类型与引用数据类型在参数传递时的区别。理解方法的概念和使用对于编写高效、模块化的Java程序至关重要。

2025-08-14 12:04:59 1304

原创 一、程序控制相关练习

本文展示了14个Java基础编程示例,涵盖条件判断、循环结构和数学计算等基本语法。主要包括:奇偶判断(1)、正负零判断(2)、闰年判断(3)等条件语句;使用while循环实现1-100打印(4)、求和(5)、阶乘计算(6-7)及3的倍数查找(8-9);使用for循环实现相同功能(10-13);以及switch语句实现日期输出(14)。这些示例演示了Java中基本的输入输出、条件分支和循环控制结构,适合初学者学习基础语法和算法逻辑。

2025-08-13 17:06:38 221

原创 四、深入剖析Java程序逻辑控制:从字节码到性能优化

本文深入剖析Java程序逻辑控制结构,包括顺序结构、分支结构和循环结构的底层实现原理与最佳实践。顺序结构通过程序计数器实现线性执行;分支结构(if/switch)使用字节码跳转指令控制流程;循环结构(while/for)通过条件判断实现重复执行。文章特别强调常见编码陷阱(如分号错误、悬垂else问题)和性能优化技巧,并通过字节码分析揭示底层机制。还介绍了break和continue的流程控制作用,指出分支与循环结构的选择策略,为编写高效Java代码提供实践指导。

2025-08-13 15:52:35 1021

原创 三、Java运算符详解:从基础到进阶的技术指南

Java运算符是构建程序逻辑的核心工具,可分为算术、赋值、关系、逻辑、位运算等七大类。算术运算符需注意整数/浮点除法的区别以及自增/自减的前后置差异;赋值运算符存在隐式类型转换特性;关系运算符是条件判断的基础;逻辑运算符具有短路求值特性;位运算符可进行高效底层操作。此外,运算符的优先级和结合性决定了复杂表达式的计算顺序。掌握这些运算符的特性对编写正确高效的Java代码至关重要。

2025-08-11 17:18:25 985

原创 二、变量与数据类型:写代码前必须打通的「任督二脉」

本文介绍了编程基础中的变量与数据类型,重点讲解了字面常量、数据类型和变量的概念及应用。主要内容包括: 字面常量:程序中的固定值,如数字、字符、字符串等,直接使用无需声明,使代码更清晰易读。 数据类型:对数据的分类方式,决定了存储方式和操作规则。Java中的基本数据类型分为四类八种,包括整型、浮点型、字符型和布尔型,每种类型的内存占用和范围各不相同。 变量:存储数据的容器,分为整型变量(int、long、short、byte)、浮点型变量(double、float)等,通过代码示例展示了变量声明和使用方法。

2025-07-14 15:50:44 925

原创 一、初识Java:开启编程新世界的大门

Java作为一门跨平台、面向对象的高级编程语言,自1995年诞生以来广泛应用于企业级开发、移动应用和大数据等领域。文章介绍了Java的核心特性(面向对象、平台独立性、安全性等)、开发环境搭建方法,并详细讲解了Java程序的基本结构,包括main方法的使用、三种注释方式、标识符命名规则以及关键字等内容。这些基础知识为后续深入学习Java编程奠定了基础,展现了Java"一次编写,到处运行"的独特优势和在技术领域的重要地位。

2025-07-14 15:50:22 845

原创 C++命名空间:代码组织的艺术与冲突解决的利器

C++命名空间通过隔离标识符作用域有效解决命名冲突问题,是组织大规模代码的核心工具。标准库采用std命名空间避免用户冲突,开发者可通过namespace定义空间(支持嵌套与跨文件扩展),使用::限定符或using指令访问成员。进阶技巧包括匿名命名空间(文件级隔离)、别名简化、内联命名空间(版本控制)。最佳实践强调避免头文件全局导入、优先显式访问,模块化项目中推荐嵌套使用。命名空间显著提升代码可维护性,是C++工程化开发的必备技能。

2025-06-01 22:52:32 1051

原创 C++输入与输出技术详解

本文全面介绍C++中的输入输出技术,包括标准流对象(cin/cout/cerr/clog)的特性与用法、C风格函数(scanf/printf/fgets)的优缺点对比,以及输入输出性能优化策略(如禁用同步、解除绑定、缓冲区控制等)。通过代码示例说明不同类型I/O操作的应用场景,帮助开发者根据需求选择高效、安全的实现方式,并提升程序I/O性能。C++的流机制提供类型安全和灵活性,而C函数在格式化控制上更精细,合理结合两者可优化开发效率。

2025-06-01 22:52:00 919

原创 深入理解C语言函数之模拟实现strcpy()strcat()

strcpystrcat模拟实现

2025-04-25 14:57:38 470

原创 深度理解C语言函数之strlen()的模拟实现

strlen三种模拟实现方法

2025-04-25 13:40:38 889

原创 顺序表和链表的区别(C语言)

顺序表和链表的区别

2025-04-20 18:08:37 1022

原创 栈和队列(C语言)

栈和队列详解

2025-04-20 17:26:43 1071

原创 《空间复杂度(C语言)》

空间复杂度

2025-04-17 14:39:02 1260

原创 《时间复杂度(C语言)》

时间复杂度

2025-04-17 14:16:27 1404

原创 单链表专题(C语言)

单链表

2025-04-13 11:39:55 546

原创 双向链表专题(C语言)

双向链表

2025-04-13 10:52:38 885

原创 顺序表专题(C语言)

顺序表专题

2025-04-08 22:05:43 1083

原创 编译和链接(C语言)

编译和链接

2025-04-08 21:46:07 1092

原创 文件操作(C语言)

文件操作(C语言)

2025-04-05 12:45:17 905

原创 动态内存管理

C语言动态内存管理

2025-04-05 12:25:18 1184

原创 自定义类型:联合和枚举

枚举和联合

2025-04-04 21:08:19 802

原创 自定义类型:结构体

结构体

2025-04-04 18:14:23 1362

原创 数据在内存中存储(C语言)

数据在内存中的存储

2025-04-02 17:46:30 932

原创 C语言内存函数详解

C语言内存函数

2025-04-02 17:21:24 596

原创 字符函数和字符串函数

字符函数和字符串函数

2025-03-31 18:03:02 1280

原创 深入理解指针(5)(C语言版)

深入理解指针(5)

2025-03-31 17:46:11 929

原创 从零开始完成冒泡排序(0基础)——C语言版

冒泡排序面向C语言小白

2025-03-27 21:52:30 2338

原创 深入理解指针(4)(C语言版)

深入理解指针(4)(C语言版)

2025-03-27 21:47:53 1005

原创 函数指针相关的两个有趣的代码分析

在C语言的编程世界里,函数指针一直是一个神秘而强大的存在。今天,让我们一起揭开两段代码的神秘面纱,深入理解它们背后的逻辑和应用场景。通过本篇博客的学习,我们深入理解了两段代码背后的逻辑和应用场景。函数指针是C语言中非常强大的工具,它能让我们的程序更加灵活和高效。希望读者能够通过不断地实践和思考,真正掌握函数指针的精髓。

2025-03-26 15:50:59 1063

原创 深入理解指针(3)(C语言版)

深入理解指针3

2025-03-26 15:42:42 1567 7

原创 深入理解指针(2)(C语言版)

深入理解指针(2)(C语言版)

2025-03-25 17:36:50 1044

C语言的扫雷小项目只用数组和函数

本项目是一个使用C语言开发的扫雷小游戏,整个项目仅运用了数组与函数进行实现。游戏通过控制台文本界面展示,玩家可以通过输入坐标来揭示方格或标记地雷,界面简洁直观,操作便捷。游戏开始时,系统会随机在数组中布置一定数量的地雷,玩家需通过逻辑推理和记忆来避开地雷并找出所有安全区域。在游戏过程中,玩家可随时标记疑似地雷的方格,以辅助决策。当玩家成功揭示所有非地雷方格或不慎踩中地雷时,游戏结束,并显示最终结果。

2025-03-20

c语言大一认识实习之学生信息管理系统

用c语言写的学生管理系统项目主要用来应付大一实习时的作业,因为可能有一部分学校老师,讲这一块同时讲了,有些不出来就可以拿出来啦,完全免费的,有其他问题可以私聊我 ,可以自己添加一些功能,来让自己认识实习得到更高的分数,祝大家学习快乐

2024-04-27

通过C语言实现的扫雷游戏

- **益智性**:扫雷游戏是一个典型的益智类游戏,它不仅考验玩家的逻辑思维能力,还需要玩家有良好的记忆力和推理能力。玩家需要根据已揭示的格子周围的信息来判断哪些是安全的,哪些可能隐藏着地雷。 - **规则简单**:尽管游戏本身具有一定的策略性,但其基本规则非常简单。棋盘由多个格子组成,玩家的目标是找出所有没有地雷的格子,而避免触碰到地雷。一旦触碰到地雷,游戏就会结束。 - **交互性强**:玩家通过点击来选择想要扫描的坐标,每次操作后游戏都会给出相应的反馈。如果扫描到的是安全区域,游戏会显示周围八个区域的地雷数目;如果扫描到的是地雷,则游戏结束。 - **代码实现**:在C语言中实现扫雷游戏涉及到多个函数和数据结构,如用户交互菜单、棋盘的初始化、布置雷、排查雷等。这些功能的实现需要一定的编程技巧和对C语言的理解。 此外,扫雷游戏还具有可扩展性,可以通过增加更多的功能或者改变游戏的规则来创造新的游戏体验。 总的来说,C语言实现的扫雷游戏不仅具有上述特点,还可以作为学习编程语言的一个很好的实践项目。通过编写扫雷游戏,可以加深对C语言数组、函数、指针等核心概念的理解和应用。

2024-03-18

打印1000到2000年的闰年

打印1000到2000年的闰年

2024-03-12

打印100到200的素数

打印100到200的素数

2024-03-11

用C语言写的简单的猜数字游戏

1. **游戏规则**:系统生成一个随机数,玩家有限定次数的机会来猜测这个数字。 2. **程序设计思路**:利用rand函数生成伪随机数,利用时间戳产生某种意义上的真正的随机数。 3. **代码实现**:利用时间一直在变化的特点使随机数一直变化,使用`rand()`函数生成随机数,使用`scanf()`函数读取玩家输入,以及使用`while`循环来控制游戏循环直到玩家猜中数字。 4. **学习价值**:编写这样的游戏对于学习C语言的初学者来说是一个很好的实践机会,它能够帮助新手理解程序结构、掌握基本语法和提高逻辑思维能力。 5. **总结体会**:通过编写这个简单的猜数字游戏,让我对rand函数有了更深的了解

2024-03-09

空空如也

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

TA关注的人

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