Compare commits

..

No commits in common. "932b0787784646b301bc498701fa73312d78740d" and "313406970c9824d1dccebb92223c21f3cb97eb52" have entirely different histories.

View File

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