- 博客(27)
- 资源 (1)
- 收藏
- 关注
原创 白话基数排序
按数字从低位到高位(或高位到低位)逐轮分桶排序,逐位规整后整体有序。也就是把数字拆开一位一位看,先排右边个位,再排中间十位,接着排左边百位…… 从右往左一轮轮分桶整理。
2026-06-12 11:23:21
226
原创 白话桶排序
确定数组元素的最大值和最小值,根据元素个数创建同样数量的桶,每个桶代表一个区间,依次把数装入桶,分别对桶内元素单独排序,最后按桶的顺序依次取出所有元素,完成排序。
2026-06-11 17:19:49
201
原创 白话快速排序
一个基准值,左右分治。默认指定首个元素为基准值,小于基准值放左边,大于基准值放右边;指定左边的元素第一个为基准值,小于基准值放左边,大于基准值放右边;指定右边的元素第一个为基准值,小于基准值放左边,大于基准值放右边;不断递归拆分,直到数组有序。
2026-06-02 10:30:04
235
原创 白话插入排序
将元素分为有序区(初始为第一个元素)和无序区,取无序区第一个元素和有序区元素依次比较,比这个元素大的往后稍,直到找到小于等于它的位置,然后把这个元素插进去。
2026-06-01 16:18:19
167
原创 白话选择排序
选择排序是一种简单直观的排序算法。其核心思想是:每次从未排序部分找出最小元素,与未排序部分的第一个元素交换位置。具体步骤为:1)假设第一个元素最小;2)在剩余元素中寻找最小值并与第一个元素交换;3)重复该过程直到所有元素有序。示例中数组[3,1,4,2]经过三轮比较交换后变为[1,2,3,4]。算法通过双重循环实现,时间复杂度为O(n²),空间复杂度为O(1),适合小规模数据排序。
2026-05-28 11:38:43
41
原创 白话冒泡排序
冒泡排序像水里气泡往上浮一样,大的数字慢慢往后挪 。从头开始,相邻两个数两两对比,谁大就往后换位置,一轮下来,最大的数自动跑到最后面。
2026-05-21 10:47:38
54
原创 趣谈排序算法
这篇文章用幽默风趣的语言对比了常见排序算法的特点。内部排序中,快速排序是性能王者,归并和堆排序紧随其后,而冒泡排序则是"新手入门专属"。外部排序主要采用归并类方法处理大数据,配合置换选择排序提高效率。文章还特别提到计数/桶/基数排序在特定场景下的"开挂"表现。全文通过拟人化的方式,让读者轻松理解不同排序算法的适用场景和性能差异,最后用"搞笑实力排位"的形式对各算法进行了趣味排名。
2026-04-30 09:32:56
365
原创 Go语言的错误处理机制
本文详细介绍了Go语言的错误处理机制,重点分析了recover和panic的使用方法。recover只能在defer函数中捕获异常,通过延迟执行来修改返回值并阻止程序崩溃。panic会立即终止当前执行流程,若未recover则导致程序崩溃。文章通过代码示例展示了两种机制的实际应用场景,并给出了最佳实践建议:业务逻辑优先使用error处理,panic仅用于极端情况;recover应在顶层函数中谨慎使用,避免隐藏问题;捕获panic后需记录完整日志以便排查。最后强调不应滥用panic替代error处理常规错误。
2026-03-21 22:52:10
407
原创 B端实现无限滚动
通常来说B端产品很少有无线滚动的需求,至于为什么有这篇文章,难免会有一些不近人情的甲方baba或者产品经理甚至UI给前端找活干,下文讲讲实现无限滚动的一些思路。
2025-04-15 00:06:25
1108
原创 BroadcastChannel实现浏览器标签页通信
浏览器标签页通信常用于列表页进入详情页所进行的标签页间通信的情况,实际使用例如博客页面的列表和文章编辑页面、音乐网站的列表和音乐播放详情等。
2025-04-09 18:03:24
1084
原创 HarmonyOS NEXT数据懒加载【LazyForEach】
ForEach“LazyForEach从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。当在滚动容器中使用了LazyForEach,框架会根据滚动容器可视区域按需创建组件,当组件滑出可视区域外时,框架会进行组件销毁回收以降低内存占用。”说来说去就是提升性能,需要根据自身情况选择是否使用该技术,毕竟用起来有一丢丢烦人。举个例子,一个List里头好多子项,需要不断滚动请求数据,这时懒加载技术属于专业对口可以考虑使用;如果就一个Swiper组件或者子项很少的列表,大可不必使用懒加载;
2024-09-09 14:47:41
528
原创 HarmonyOS Next应用级状态管理
HarmonyOS Next数据持久化主要包括LocalStorage、AppStorage和PersistentStorage。LocalStorage是页面级的UI状态存储,通过@Entry装饰器接收的参数可以在页面内共享同一个LocalStorage实例。AppStorage是应用全局的UI状态存储,是和应用的进程绑定的,由UI框架在应用程序启动时创建,为应用程序UI状态属性提供中央存储。PersistentStorage是应用程序中的可选单例对象。
2024-09-04 11:05:14
713
原创 HarmonyOS NEXT列表项中的半模态转场
HarmonyOS中的半模态转场原先由Pannel组件提供该能力,但通过可知,从API Version 12 开始,该组件不再维护,推荐使用通用属性bindSheet。当然,本篇文章探讨的是列表项中的半模态转场问题。
2024-08-29 10:50:38
579
原创 HarmonyOS Next数据持久化
HarmonyOS Next数据持久化主要包括用户首选项和关系型数据库。用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。关系型数据库(Relational Database,RDB)是一种基于关系模型来管理数据的数据库。关系型数据库基于SQLite组件提供了一套完整的对本地数据库进行管理的机制,对外提供了一系列的增、删、改、查等接口,也可以直接运行用户输入的SQL语句来满足复杂的场景需要。
2024-08-22 10:22:19
474
原创 HarmonyOS Next开发中使用iconfont字体图标
在HarmonyOS开发中使用阿里巴巴图标库的字体图标,完成字体下载、注册和使用。
2024-08-19 11:13:14
2297
5
原创 解决elementUI 表单输入框浏览器自动填写问题
一般来说,输入表单、提交之后,浏览器会保存表单内容,刷新页面之后对应表单内容会自动填充。这个机制可以说是有利有弊,好的是如果经常登录同一个平台,自动填充账号密码显然可以提高效率;但如果是在注册这种场景下,每一次输入表单的内容都不相同,自动填充功能会严重影响我们的使用体验。
2023-04-18 11:00:10
3106
原创 ElementUI el-date-picker日期时间选择器”placement”报错问题的解决方案
【代码】ElementUI el-date-picker日期时间选择器”placement”报错问题的解决方案。
2023-04-04 10:03:41
1134
原创 git克隆代码“error: invalid path ‘plugins/service.js ‘ fatal: unable to checkout working tree”的解决方案
文件路径后面有一个空格,Mac系统是没有影响的,但Windows系统中这种命名是非法的,所以只需要让同事把。的错误,巧合的是,另一位同事的Mac也是能正常克隆的。经过“仔细研究”,发现是项目中所报的。Windows系统克隆同事的Mac代码的时候,报了。文件后面的空格删掉即可。
2023-02-15 09:32:04
1033
1
原创 react脚手架开发uTools工具打包时去掉.map文件的解决方案
用react脚手架项目开发utools工具时,若直接用默认打包后的文件提交审核,大概率会被撤回;原因也是会很清楚的告诉我们:“插件内请勿包含.js.map, .css.map 调试文件”。因此,笔者将盘点react脚手架项目打包去掉.map文件的解决方案。
2023-02-10 09:56:41
813
原创 【Ant Design】Modal对话框配合Form表单时设置表单域数据
**报错:Uncaught TypeError: Cannot read properties of null (reading ‘setFieldsValue’) ***显然当前form实例为null,自然也就无法进行setFieldsValue操作;有知道具体原因的大佬,麻烦留言,感激不尽!
2023-02-07 10:57:04
851
原创 elementUI级联选择器el-cascader组件踩坑
项目测试过程中出现了一个bug:elementUI级联选择器el-cascader组件做了一个省市县三级联动且可以选择任意一级选项,但选择任意省市县之后,获取不到选择的值。
2023-02-06 13:48:54
1072
2
原创 elementUI中关闭el-dialog时如何彻底销毁其中的内容和数据
vue+elementUI项目,点击某个按钮显示el-dialog弹框,弹框中有tab标签页,用来显示不同类型的echarts图表。bug如下:第一次打开弹框,选中第二个tab之后关闭弹框,再次打开弹框时默认选中的是第二个tab,但展示的是第一个tab的数据。
2023-01-30 14:40:22
10819
1
原创 unity3d计算两点之间距离的方法
unity3d中计算两点之间的距离首先在unity场景中创建一个Cube1、一个Cube2,用来当做待计算距离的两个物体,且新建脚本DisCal.cs,将脚本拖入Cube1.打开脚本,在脚本中首先定义一个全局变量public Transform cube2;返回unity将Cube2物体拖入Cube1的脚本中。计算两点之间的距离一般有如下两种方法:向量的模float dis1 = (cube2.position - transform.position).magnitude;//magni
2021-01-31 10:59:41
21565
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅