intset

整数集合是集合的底层实现之一,当元素质保函整数值元素时,并且集合元素数量不多,采用整数集合实现

数据结构

typedef struct intset {
    uint32_t encoding; //编码方式
    uint32_t length; //长度
    int8_t contents[]; //内容
} intset;
  • content根据encoding动态调整大小
  • contents数组按照从小到大的顺序保存
    升级
  • 根据新元素类型,拓展底层空间,并为新元素分配空间
  • 将底层数组转为新元素类型,并将转换后的元素放到正确位置,大小顺序不变
  • 将新元素放入底层数组
    降级
    intset不支持降级
    升级的好处
  • 提升灵活性
  • 节约内存

results matching ""

    No results matching ""