mirror of
https://gitee.com/zlgopen/awtk.git
synced 2024-11-30 02:58:26 +08:00
6.8 KiB
6.8 KiB
array_t
概述
动态数组,根据元素个数动态调整数组的容量。
本类已经过时,逐步替换成darray。
函数
函数名称 | 说明 |
---|---|
array_create | 创建array对象 |
array_deinit | 清除数组中的元素。 |
array_destroy | 清除数组中的元素,并释放数组对象。 |
array_find | 查找第一个满足条件的元素。 |
array_find_index | 查找第一个满足条件的元素,并返回位置。 |
array_init | 初始化array对象 |
array_pop | 弹出最后一个元素。 |
array_push | 在尾巴追加一个元素。 |
array_remove | 删除第一个满足条件的元素。 |
array_remove_all | 删除全部满足条件的元素。 |
属性
名属性称 | 类型 | 说明 |
---|---|---|
capacity | uint16_t | 数组的容量大小。 |
elms | void** | 数组中的元素。 |
size | uint16_t | 数组中元素的个数。 |
array_create 函数
- 函数功能:
创建array对象
- 函数原型:
array_t* array_create (uint16_t* capacity);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | array_t* | 数组对象。 |
capacity | uint16_t* | 数组的初始容量。 |
array_deinit 函数
- 函数功能:
清除数组中的元素。
- 函数原型:
void array_deinit (array_t* array);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | void | 无。 |
array | array_t* | 数组对象。 |
array_destroy 函数
- 函数功能:
清除数组中的元素,并释放数组对象。
- 函数原型:
void array_destroy (array_t* array);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | void | 无。 |
array | array_t* | 数组对象。 |
array_find 函数
- 函数功能:
查找第一个满足条件的元素。
- 函数原型:
void* array_find (array_t* array, tk_compare_t cmp, void* ctx);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | void* | 如果找到,返回满足条件的对象,否则返回NULL。 |
array | array_t* | 数组对象。 |
cmp | tk_compare_t | 比较函数,为NULL时直接比较指针。 |
ctx | void* | 比较函数的上下文。 |
array_find_index 函数
- 函数功能:
查找第一个满足条件的元素,并返回位置。
- 函数原型:
int array_find_index (array_t* array, tk_compare_t cmp, void* ctx);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | int | 如果找到,返回满足条件的对象的位置,否则返回-1。 |
array | array_t* | 数组对象。 |
cmp | tk_compare_t | 比较函数,为NULL时直接比较指针。 |
ctx | void* | 比较函数的上下文。 |
array_init 函数
- 函数功能:
初始化array对象
- 函数原型:
array_t* array_init (array_t* array, uint16_t* capacity);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | array_t* | 数组对象。 |
array | array_t* | 数组对象。 |
capacity | uint16_t* | 数组的初始容量。 |
array_pop 函数
- 函数功能:
弹出最后一个元素。
- 函数原型:
void* array_pop (array_t* array);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | void* | 成功返回最后一个元素,失败返回NULL。 |
array | array_t* | 数组对象。 |
array_push 函数
- 函数功能:
在尾巴追加一个元素。
- 函数原型:
ret_t array_push (array_t* array, void* data);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
array | array_t* | 数组对象。 |
data | void* | 待追加的元素。 |
array_remove 函数
- 函数功能:
删除第一个满足条件的元素。
- 函数原型:
ret_t array_remove (array_t* array, tk_compare_t cmp, void* ctx, tk_destroy_t destroy);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
array | array_t* | 数组对象。 |
cmp | tk_compare_t | 比较函数,为NULL时直接比较指针。 |
ctx | void* | 比较函数的上下文。 |
destroy | tk_destroy_t | 销毁元素的回调函数。 |
array_remove_all 函数
- 函数功能:
删除全部满足条件的元素。
- 函数原型:
ret_t array_remove_all (array_t* array, tk_compare_t cmp, void* ctx, tk_destroy_t destroy);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
array | array_t* | 数组对象。 |
cmp | tk_compare_t | 比较函数,为NULL时直接比较指针。 |
ctx | void* | 比较函数的上下文。 |
destroy | tk_destroy_t | 销毁元素的回调函数。 |
capacity 属性
数组的容量大小。
- 类型:uint16_t
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
elms 属性
数组中的元素。
- 类型:void**
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
size 属性
数组中元素的个数。
- 类型:uint16_t
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |