如下为intset.h/intset结构,表示一个整数集合:
typedef struct intset{
uint32_t encoding;//编码方式
uint32_t length;//集合包含元素数量
int8_t contens[];//保存元素的数组,按值的大小从大到小有序排列,且不包含重复项
}intset;
若添加的数据大于现encoding值时,集合会进行升级操作。
1.控制数组空间,并为新元素分配空间
2.原数据类型转换,并放置在正确位置
3.添加新元素至数组