Commit Graph

  • 484c2fc5b9 rbtree重构准备 refactor wjf-hs 2026-05-22 16:02:59 +0800
  • 97c403b636 chore(perf): 性能测试新增run_count并用测试ringbuf和segarray的性能,直观看出差异。 master wjf-hs 2026-05-21 16:33:58 +0800
  • 18c67dacb3 refactor(heap): 基于darray重构堆 wjf-hs 2026-05-20 17:35:59 +0800
  • 81d9cf3c13 fix(iter): 修复反向迭代终止条件及指针解引用错误 wjf-hs 2026-05-19 19:06:48 +0800
  • f6cbf4f7d1 feat(ustring): 实现查找、替换、格式化对齐,以及索引,包含,计数功能 wjf-hs 2026-05-19 18:35:24 +0800
  • ad9f642ada feat(ustring): 支持负索引访问并给uview结构新增类别。 wjf-hs 2026-05-19 13:50:07 +0800
  • 6b4ef1d775 添加字符串比较 wjf-hs 2026-05-18 18:59:27 +0800
  • 03f81cb8de feat(ustring): 添加 erase/resize 并重构底层实现,优化了strip_left/right的性能 wjf-hs 2026-05-18 15:40:26 +0800
  • e33d1cad60 refactor(core)!: 重构容器接口区分 reserve 与 resize,并更新ustring_new接口统一uview_t参数 wjf-hs 2026-05-18 11:43:09 +0800
  • 0f699a5e65 feat(ustring): 实现算法,以及ustring字符串模块 - algo 冒泡排序与插入排序 - ustring 字符串创建、拼接、大小写转换及修剪 - ustring 单元测试与演示代码 jf-home 2026-05-18 01:58:17 +0800
  • 917cee5d0b feat(internal): 新增基础类型的通用比较函数 jf-home 2026-05-17 21:28:38 +0800
  • 4396d4d337 feat(segarray): 实现动态扩容与惰性初始化 jf-home 2026-05-17 20:49:26 +0800
  • f5c3b178c5 feat(deque): 支持 segarray 后端实现 jf-home 2026-05-17 17:08:22 +0800
  • 9ae4aa829c refactor(list)!: 将 list 模块替换为 arraylist jf-home 2026-05-17 15:58:31 +0800
  • 82d0167c81 feat(mempool)!: 添加内存追踪及修复多处内存泄漏 jf-home 2026-05-17 14:13:33 +0800
  • 529cf60218 refactor(arraylist): 基于 darray 重构实现并支持负索引 jf-home 2026-05-17 12:57:20 +0800
  • 72db0be317 feat(stl): 新增 arraylist 并统一迭代器顺序枚举类型 jf-home 2026-05-17 10:48:19 +0800
  • 15ab80cc4d feat(logger): 新增文件日志功能,帮助我很快排查到了segarray_free的bug jf-home 2026-05-17 00:49:29 +0800
  • 8a65218105 feat(segarray): 实现随机访问,优化迭代器和头尾访问实现逻辑,并与ringbuf对比不同应用场景下的优劣 jf-home 2026-05-16 22:18:59 +0800
  • 115646ecd4 refactor(core): 统一内存管理与日志宏接口 jf-home 2026-05-16 17:55:47 +0800
  • 30152bb207 docs: 更新架构图与 API 文档,补充 segarray 设计笔记 jf-home 2026-05-16 01:57:07 +0800
  • 0dd45ed7dd refactor(segarray): 段使用rawbuf而不是darray,先按照最简单的方式调试通push和pop等操作 wjf-hs 2026-05-15 19:01:37 +0800
  • 0236e6e315 feat(rawbuf): 新增 rawbuf 模块,做随机访问,支持malloc和静态内存。 (之前我突然对darray理解错了,现在的darray设计就是合理的。注意区分开rawbuf和darray) wjf-hs 2026-05-15 15:53:11 +0800
  • 3ceffc938e segarray调试期间,发现我的darray设计的非常不合理,size基于insert,而set有基于size。这样新建的darray不能立刻使用set wjf-hs 2026-05-15 13:37:45 +0800
  • d6a6bacbb0 ringbuf: add random access wjf-hs 2026-05-15 10:34:25 +0800
  • dcce634326 segarray的流程还不对,今天太晚了,明天再调整。 jf-home 2026-05-15 02:45:21 +0800
  • fb7ac93623 refactor(queue): 统一初始化接口并添加 resize 功能 jf-home 2026-05-15 01:40:59 +0800
  • 7741ac3f40 refactor(stack): 统一构造函数并添加扩容与满栈检测 jf-home 2026-05-15 01:10:07 +0800
  • d36346ce00 feat(algo): 新增算法模块并给darray集成排序和查找功能,index底层改为调用search jf-home 2026-05-15 00:04:04 +0800
  • f8ba5197a8 darray添加iter操作,deque新增resize,更新deque的单元测试 wjf-hs 2026-05-14 19:22:17 +0800
  • 3fda59ba06 refactor(queue):底层修改为deque wjf-hs 2026-05-14 18:29:12 +0800
  • 10e95ae23f docs: 更新说明 wjf-hs 2026-05-14 15:02:35 +0800
  • 8a3455efee refactor(ringbuf)!: 重命名模块并增加动态扩容与静态内存支持 wjf-hs 2026-05-14 14:15:10 +0800
  • 55cff2c2ba 将darray的索引类型修正为 size_t 并 新增栈和队列的嵌入式接口 jf-home 2026-05-14 01:45:28 +0800
  • f512f72d2e refactor(darray): 优化内存策略并移除动态扩容开关。固定容量场景交由上层封装,darray不再支持。 jf-home 2026-05-14 00:32:49 +0800
  • 864273cef2 bugfix(stack): 栈的stack_new宏定义多套了一层sizeof,展开后sizeof(sizeof(int)),让obj_size=8了 jf-home 2026-05-13 21:50:31 +0800
  • 97653622c1 stack->peek把data的内存给修改了,后续再排查一下原因 wjf-hs 2026-05-13 19:27:38 +0800
  • 2278bad0a4 feat(perf): 重构性能测试框架(支持多组参数配置)并增加perf_log(利用darray实现并格式化输出) wjf-hs 2026-05-13 17:00:39 +0800
  • c422bc976a perf性能测试代码实现,但测试代码写起来怪怪的,日志打印的信息也不直观。后续再调整吧 jf-home 2026-05-12 23:38:49 +0800
  • cd6eff28a7 ringbuffer重构底层代码,并将obj和index的操作独立成内联函数,另外将deque的底层架构直接修改为ringbuffer wjf-hs 2026-05-12 18:42:43 +0800
  • a58d480ae4 ringbuffer调试通过,疑问点:感觉复用darray相对于直接malloc并没有简化多少,只是把计算偏移这部分简化了。 wjf-hs 2026-05-12 16:29:40 +0800
  • 9a9f18ac40 将index、len、size等变量的定义,都配置成size_t而不是uint32_t,至于列表对应的负数索引,先按照int吧,后续有必要再修改成ssize_t wjf-hs 2026-05-12 10:36:31 +0800
  • 26eeb65cc9 refactor(core)!: 重构链表核心API,增加 const 正确性与自定义断言 jf-home 2026-05-12 02:26:21 +0800
  • 17a9d51437 linklist先照搬了queue,后续用到再修改吧。另外,darray中的部分函数传参,我添加了const修饰 wjf-hs 2026-05-11 19:05:58 +0800
  • 1532d3716c darray实现 wjf-hs 2026-05-11 15:16:42 +0800
  • 803f489ee7 Linux平台编译也通过 wjf-dell 2026-02-13 18:36:03 +0800
  • 40071507c4 添加map的比较函数 map wjf-hs 2025-06-20 11:45:32 +0800
  • 9d26afb817 修改tree的遍历参数 wjf-hs 2025-06-20 11:14:59 +0800
  • 3c2ecd52b1 添加map相关函数实现,底层多关注内存的问题 wjf-hs 2025-05-19 11:42:00 +0800
  • 1f2e4e56bb 先添加map相关接口,考虑了下暂定隐层底层细节,参考C++的命名。 wjf-hs 2025-05-19 10:30:38 +0800
  • 1081cda4fe 添加修改日志,定版v0.0.2 v0.0.02 wjf-hs 2025-05-06 11:29:39 +0800
  • df006ba37a 删除非必要assert,否则可能导致demo卡主 dev-graph jf-home 2025-04-30 23:43:54 +0800
  • 9322db6b62 修改common为unicstl_internal,顺便给其他数据结构都添加默认的compare和print_obj接口 jf-home 2025-04-30 23:26:36 +0800
  • 32f2605656 基本上完善到我理想中的样子了 wjf-hs 2025-04-30 15:01:55 +0800
  • ccae6a9d8f 将index索引转换独立出一个函数 wjf-hs 2025-04-30 14:53:30 +0800
  • 65a60df00b 修改变量 wjf-hs 2025-04-30 14:44:04 +0800
  • e5ea2efe84 改了半天才发现,原来我最初写的才是最优解 wjf-hs 2025-04-30 14:41:10 +0800
  • 46caba5943 还是不对,这么处理感觉好复杂啊,是不是我全部修改为闭区间容易处理一点? wjf-hs 2025-04-30 14:08:10 +0800
  • 3f8f418d4e 逻辑相对清晰一点,还差部分逻辑没调通 wjf-hs 2025-04-30 13:25:12 +0800
  • ce9acda014 条件判断还存在问题 wjf-hs 2025-04-30 11:45:22 +0800
  • e86657d807 先正序的情况修改完成 wjf-hs 2025-04-30 11:33:54 +0800
  • d2be5d229f 原版代码测试通过 wjf-hs 2025-04-30 11:16:23 +0800
  • 97ae2a54c4 添加新的测试项,并尝试slice是否可以优化的更加直观 wjf-hs 2025-04-30 11:14:59 +0800
  • 802d63641c 针对start和end超出范围的处理 jf-home 2025-04-30 02:18:07 +0800
  • b5a83f865e 添加step=2的单元测试 jf-home 2025-04-30 01:50:58 +0800
  • e85e1c56f3 将切片的各种情况分开来测试 jf-home 2025-04-30 01:38:06 +0800
  • 2dfc0b2b17 先调试通过了,后续再考虑优化 jf-home 2025-04-30 01:28:37 +0800
  • 0f18ddf567 slice单元测试基本都添加完毕,现在可以针对性的进行修改了 jf-home 2025-04-30 00:58:28 +0800
  • 178d0bf5b4 看起来得加一个宏定义了,专门用语处理end无限长的 jf-home 2025-04-30 00:37:04 +0800
  • e49f425e43 添加函数注释 jf-home 2025-04-30 00:17:59 +0800
  • 643d601c6e 添加slice函数,但是还有两个问题没有解决 jf-home 2025-04-30 00:01:37 +0800
  • 93c0cfbd37 添加list的slice函数 jf-home 2025-04-29 22:55:12 +0800
  • 24844219df 添加insert和delete的单元测试 jf-home 2025-04-29 22:04:22 +0800
  • 80f8722e2e append和pop函数复用了insert和delete,理解起来更加直观 wjf-hs 2025-04-29 16:49:54 +0800
  • 0c545dfca5 insert函数的bug修复完毕 wjf-hs 2025-04-29 16:48:06 +0800
  • c8a48e6c63 想统一inset和pop但是编译测试不通 wjf-hs 2025-04-29 16:25:27 +0800
  • 851f815120 修改list相关接口描述以及调通由于删除deque的接口导致的编译问题 wjf-hs 2025-04-29 14:53:54 +0800
  • 446ede15db 添加list实现原理说明 wjf-hs 2025-04-29 11:52:15 +0800
  • 6fb620850e 双向队列删除非核心代码,至于其底层实现是否权衡各种场景,则后续再考虑优化。 wjf-hs 2025-04-29 11:41:31 +0800
  • 51b41f46da 删除调试信息,默认不采用递归 jf-home 2025-04-28 01:46:23 +0800
  • 4acdcf3ec7 开启assert后解决编译和测试问题 jf-home 2025-04-28 00:59:03 +0800
  • d9d5f052b1 tree简化插入接口 jf-home 2025-04-28 00:38:59 +0800
  • bad8d68180 tree简化max和min代码实现,并且添加递归宏定义 jf-home 2025-04-27 23:55:41 +0800
  • 4530508a1b tree修改node的new和free接口函数 jf-home 2025-04-27 23:36:42 +0800
  • eb918955f5 将iter相关配置,包括成员函数的配置,都放在iter的初始化中 wjf-hs 2025-04-27 13:59:14 +0800
  • 4aa966bb93 修改iter的parent为_container,避免理解偏差 wjf-hs 2025-04-27 13:42:30 +0800
  • c70b007386 iter的node一定是当前节点,因此cur的前缀就有些多余了 wjf-hs 2025-04-27 12:44:47 +0800
  • 4691b848ef 修改iter的成员属性_cur为_index更加直观 wjf-hs 2025-04-27 12:41:10 +0800
  • 1982a90a3e tree删除非必要属性,把order遍历相关的操作都放在iterator中了 wjf-hs 2025-04-27 11:43:57 +0800
  • d278ef008f tree_order枚举类型重命名,防冲突 wjf-hs 2025-04-27 11:41:20 +0800
  • 7b672b6e77 遍历中将node重命名为target更容易理解 wjf-hs 2025-04-27 11:35:25 +0800
  • 6054e712e6 广度优先遍历:删除非必要代码 wjf-hs 2025-04-27 11:28:09 +0800
  • 7a7af3152a _rebalance作为私有函数 wjf-hs 2025-04-27 11:06:16 +0800
  • 59e5c9be71 获取树高的接口重新定义 wjf-hs 2025-04-27 11:05:12 +0800
  • 932b078778 修改函数原型说明 wjf-hs 2025-04-27 10:23:56 +0800
  • 1b5b69024e 在README中添加个人信息 并添加版本更新说明 jf-home 2025-04-27 02:46:44 +0800
  • 313406970c 修改头文件的核心操作和基础操作顺序,方便一眼看出 jf-home 2025-04-27 02:29:09 +0800
  • 4c6387427b 在README中添加函数原型 jf-home 2025-04-27 02:06:07 +0800
  • ca4ab10123 deque区分正向和反向遍历 jf-home 2025-04-27 01:16:22 +0800
  • 9e270b7425 后续考虑matrix是利用list来实现还是直接函数指针实现。但考虑到用一维指针或者二维指针都有不方便的地方。 jf-home 2025-04-27 00:16:44 +0800