awtk/docs/manual/array_t.md
2019-01-16 09:48:07 +08:00

6.8 KiB
Raw Blame History

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
特性 是否支持
可直接读取
可直接修改