Commit Graph

34 Commits

Author SHA1 Message Date
fb7ac93623 refactor(queue): 统一初始化接口并添加 resize 功能 2026-05-15 01:40:59 +08:00
f8ba5197a8 darray添加iter操作,deque新增resize,更新deque的单元测试 2026-05-14 19:22:17 +08:00
3fda59ba06 refactor(queue):底层修改为deque 2026-05-14 18:29:12 +08:00
9a9f18ac40 将index、len、size等变量的定义,都配置成size_t而不是uint32_t,至于列表对应的负数索引,先按照int吧,后续有必要再修改成ssize_t 2026-05-12 10:36:31 +08:00
26eeb65cc9 refactor(core)!: 重构链表核心API,增加 const 正确性与自定义断言
- 将所有打印和比较函数的参数指针从 `void*` 修改为 `const void*`,增强类型安全
- 引入自定义断言宏 `unicstl_assert` 及其实现,替换标准 `assert`
- 优化动态数组容量增长策略,新增 `unicstl_new_capacity` 函数
- 重构链表 接口:`push`/`pop` 重命名为 `push_back`/`pop_front`,新增 `push_front`/`pop_back`/`insert`/`remove`/`contains` 方法
- 移除链表结构体中未使用的 `_index_front` 和 `_index_back` 成员
- 在头文件中补充关键函数的时间复杂度注释
2026-05-12 02:26:21 +08:00
9322db6b62 修改common为unicstl_internal,顺便给其他数据结构都添加默认的compare和print_obj接口 2025-04-30 23:26:36 +08:00
4acdcf3ec7 开启assert后解决编译和测试问题 2025-04-28 00:59:03 +08:00
eb918955f5 将iter相关配置,包括成员函数的配置,都放在iter的初始化中 2025-04-27 13:59:14 +08:00
4aa966bb93 修改iter的parent为_container,避免理解偏差 2025-04-27 13:42:30 +08:00
c70b007386 iter的node一定是当前节点,因此cur的前缀就有些多余了 2025-04-27 12:44:47 +08:00
4691b848ef 修改iter的成员属性_cur为_index更加直观 2025-04-27 12:41:10 +08:00
aac984ee08 队列的迭代器实现并测试通过 2025-04-24 14:44:13 +08:00
07bb44a4d8 queue添加iter 2025-04-24 14:26:41 +08:00
a249cae244 queue区分私有和公有 2025-04-24 14:01:49 +08:00
c19a337821 queue修改接口函数 2025-04-23 00:18:19 +08:00
03f4396227 stack添加单侧 2024-08-30 00:49:50 +08:00
87ff4b4127 queue单元测试基本完善 2024-08-29 19:16:55 +08:00
e8c5a06fa4 init也要加单元测试,但是推荐使用new接口。另外关于内存溢出问题交给使用者吧。new和free必须成对,init和destory必须成对出现 2024-08-29 18:54:58 +08:00
d8012720b6 init函数可以多次调用,但是为了防止内存泄漏。因此每次初始化时先执行一次destory操作 2024-08-29 18:30:48 +08:00
43cfbfcda6 修改queue.c代码结构,能公用的代码就不独立了 2024-08-29 17:23:17 +08:00
f3559d516a 添加队列pop单测 2024-08-29 16:23:00 +08:00
9c0b75e718 更新队列实现为静态函数 2024-08-29 15:44:09 +08:00
6ef644b07d 队列push测试新增队列节点new函数,方便后续修改代码结构(暂未调用,等单元测试函数写好后)。 2024-08-29 15:07:01 +08:00
142a248d34 如何保证单元测试覆盖率 2024-08-29 14:36:21 +08:00
383f9ffe4b 修复bug,这就是单元测试的意义吧! 2024-08-28 00:31:35 +08:00
447200a5e6 修改数据结构释放函数参数,以保证结构体指针被释放后能恢复到NULL 2024-08-28 00:23:18 +08:00
a36bfd7507 添加注释 2024-06-23 14:43:06 +08:00
0a69ed1339 修改代码的bug,并统一代码风格。以后全用空格 2024-06-23 14:29:01 +08:00
27ac581846 给各数据结构添加new和free接口 2024-06-23 14:16:19 +08:00
cdb69e326b 队列调试通过 2024-06-23 00:28:48 +08:00
0ee0eb90b0 头索引或者入队还存在问题,稍后回来继续解决。 2024-06-22 18:36:33 +08:00
96ce81bd90 队列实现并添加README 2024-06-22 15:44:09 +08:00
22c5df495d FIFO 队列实现 2024-06-22 01:37:27 +08:00
5e7d07c7de 想着把工程更新下,以后用cmake管理 2024-06-21 17:03:51 +08:00