全称: Universal C standard library 基于C语言实现的通用C库。包含常用数据结构和算法
Go to file
2025-04-24 11:58:03 +08:00
.vscode 修改迭代器,后续将迭代器接口统一 2025-04-24 10:15:09 +08:00
3rdparty unity同步到当前最新版本 2025-04-22 15:15:47 +08:00
demo 栈的迭代器从栈顶到栈底,另外destory函数私有化 2025-04-24 11:36:56 +08:00
doc rbt测试通过 2024-09-02 21:14:16 +08:00
include 针对stack链表模式也实现了迭代器 2025-04-24 11:58:03 +08:00
src 针对stack链表模式也实现了迭代器 2025-04-24 11:58:03 +08:00
test 针对stack链表模式也实现了迭代器 2025-04-24 11:58:03 +08:00
.gitignore 为了方便在vscode上快速debug,顺便把vscode的配置也上传了 2024-06-22 17:43:15 +08:00
CMakelists.txt 编码统一使用utf8 2024-08-30 14:18:17 +08:00
LICENSE Initial commit 2024-06-17 15:03:15 +00:00
mk.bat unity多文件单元测试的编写思考,可能无法做大打印的信息直接定位到特定文件。只显示BEGIN的文件。 2024-08-28 00:15:21 +08:00
README.md heap修改接口函数 2025-04-23 13:47:55 +08:00
run.bat list单测及代码结构调整 2024-08-30 01:45:15 +08:00

unicstl

简介

全称: Universal C standard library

基于C语言实现的通用C库。包含常用数据结构和算法

标准:--std=c99

数据结构详细说明

数据结构

数据结构 原理 说明
stack
stack_new 链表
stack_new2 动态数组
list 列表
list_new2 动态数组
queue 队列
queue_new 单向链表
queue_new2 数组 FIFO/空/满
deque 双端队列
deque_new 双向循环链表
tree
tree_avl_new 二叉搜索树 AVL树
tree_rb_new 二叉搜索树 红黑树
heap
heap_new2 数组 最大堆/最小堆

特点

原理 说明
链表 有额外指针开销
动态数组 扩容时数据搬移代价较大

性能比较

项目 数组 链表
查找 O(1) O(n)
插入 O(n) O(1)
删除 O(n) O(1)

【A1】 若链表的操作流程为,先查找元素再删除元素。那么时间复杂度确实是$O(n)$。但是链表的增删优势,在其他应用有体现。比如双向队列,插入和删除效率都为$O(1)$。

版本

版本 说明
0.xx.xx 测试版本