Compare commits

...

2 Commits

Author SHA1 Message Date
932b078778 修改函数原型说明 2025-04-27 10:23:56 +08:00
1b5b69024e 在README中添加个人信息 并添加版本更新说明 2025-04-27 02:46:44 +08:00

View File

@ -1,13 +1,19 @@
# unicstl
## 简介
全称: Universal C standard library
基于C语言实现的通用C库包含常用数据结构和算法。
基于C语言实现的通用C库。包含常用数据结构和算法
**全称:** Universal C standard library
> 标准:--std=c99
**作者:** 温建峰
[数据结构详细说明](https://blog.wenjianfeng.top)
**主页:** [博客](https://blog.wenjianfeng.top)
**邮箱:**[orig5826@163.com](mailto:orig5826@163.com)
## 编译环境
- 编译器gcc 13.2.0
- 标准:--std=c99
## 数据结构
|数据结构 | 原理 |说明 |
@ -27,6 +33,8 @@
| tree_rb_new | 二叉搜索树 | 红黑树 |
| **heap** | |**堆** |
| heap_new2 | 数组 | 最大堆/最小堆 |
| **graph** | |**图** |
| graph_new | 链表 | |
## 接口函数原型
```c
@ -55,9 +63,12 @@ bool peek(void* obj); // [栈] 查看栈顶元素
bool front(void* obj); // [队列、双端队列] 查看头部元素
bool back(void* obj); // [队列、双端队列] 查看尾部元素
// bool add_(const void* obj); // 添加元素 <顶点>
// bool del_(const void* obj); // 删除元素 <顶点>
// bool find_(const void* obj); // 查找元素 <顶点>
// bool insert(const void* obj); // [树] 插入元素 <insert用于和位置相关操作>
// bool delete(const void* obj); // [树] 删除元素
// bool add_(const void* obj); // [图:顶点、边] 添加元素 <add不考虑位置关系>
// bool del_(const void* obj); // [图:顶点、边] 删除元素
// bool find_(const void* obj); // [图:顶点、边] 查找元素
// 基础操作
uint32_t size(); // 获取大小
@ -75,14 +86,15 @@ void* iter_next(); // 迭代器下一个元素
// 元素相关操作
bool append(const void* obj); // 追加元素 <push_back> 一般用于list
bool delete(const void* obj); // 删除元素
bool find(const void* obj); // 查找元素
// bool remove(const void *obj); // 删除元素 <同delete>
bool find(const void* obj); // 查找元素 <返回值bool/uint32_t/void*待定>
bool contains(const void* obj); // 判断元素是否存在 <返回bool>
uint32_t count(const void* obj); // 统计元素个数
// 索引相关操作
uint32_t index(void *obj); // 获取元素索引
bool insert(uint32_t index, const void* obj); // 插入元素
bool remove(uint32_t index); // 删除元素
// bool erase(uint32_t index); // 删除元素 <删除元素但不释放内存> 暂未考虑实现
bool insert(uint32_t index, const void* obj); // 插入元素 <非树>
bool erase(uint32_t index); // 删除元素
bool set(uint32_t index, const void* obj); // 设置元素
bool get(uint32_t index, void* obj); // 获取元素
@ -154,6 +166,18 @@ unicstl_stack_v1.2.5_20240717-a0.zip
## 修改日志
### Unicstl 0.0.02 (2025-04-24)
- new features
- graph add function: add/del/find vertex/edge
- graph add function: bfs/dfs
- tree remove old iterator and add new iterator
- deque add order select
- bugfixed:
- none
- others:
- none
### Unicstl 0.0.01 (2025-04-24)
- new features
- add stack